带和不带环境的Python

  • 本文关键字:Python 环境 python env
  • 更新时间 :
  • 英文 :


这两行有什么区别?

#!/usr/bin/python

#!/usr/bin/env python

这与Python本身无关,更多的是与shebang行的工作方式有关。

在许多类unix系统中,您需要在shebang行上给出绝对路径名,例如/usr/bin/python。但是,当您将该脚本移动到/usr/local/bin目录中有python的不同的机器时会发生什么?这行不通,就是这样。或者,即使您只是想在$HOME/python/bin中使用不同的Python解释器进行测试,也需要更改shebang行。

env是一种绕过这种情况的方法。因为在/usr/bin中它通常是总是,所以你可以安全地将它作为绝对路径包含在shebang行中。

在这种情况下,env命令本身搜索python的路径并运行该可执行文件。

env命令实际上可以做更多的事情,它可以打印环境(env),或者可以为特定进程临时修改环境(env xyzzy=plugh myprog),但是,在这个特殊的情况下,它只是让您能够在路径之外运行Python,而不是在固定位置。

相关内容

  • 没有找到相关文章

最新更新