我通常在我的Python脚本中使用以下shebang声明:
#!/usr/bin/python
最近,我遇到了这个shebang宣言:
#!/usr/bin/env python
在脚本文档中,注意到使用此表单“更具可移植性”。
这个声明是什么意思?为什么路径中间有空间?它实际上是否有助于稳定性?
答案 0 :(得分:65)
#!/usr/bin/env python
更具可移植性,因为通常程序/usr/bin/env
可以用来“激活”所需的命令而不需要完整的路径。
否则,您必须指定Python解释器的完整路径,这可能会有所不同。
因此无论Python解释器是在/usr/bin/python
还是在/usr/local/bin/python
中还是在您的主目录中,使用#!/usr/bin/env python
都可以。