适用于Python脚本的shebang

时间:2013-07-25 00:08:35

标签: python portability shebang

我通常在我的Python脚本中使用以下shebang声明:

#!/usr/bin/python

最近,我遇到了这个shebang宣言:

#!/usr/bin/env python

在脚本文档中,注意到使用此表单“更具可移植性”。

这个声明是什么意思?为什么路径中间有空间?它实际上是否有助于稳定性?

1 个答案:

答案 0 :(得分:65)

#!/usr/bin/env python

更具可移植性,因为通常程序/usr/bin/env可以用来“激活”所需的命令而不需要完整的路径。

否则,您必须指定Python解释器的完整路径,这可能会有所不同。

因此无论Python解释器是在/usr/bin/python还是在/usr/local/bin/python中还是在您的主目录中,使用#!/usr/bin/env python都可以。