这两个python shebangs有什么区别

时间:2011-04-18 22:25:13

标签: python shebang

我曾经使用过shebang

#!/usr/bin/env python

何时使用

更好
#!/usr/bin/python

它们之间的确切区别是什么?

1 个答案:

答案 0 :(得分:68)

#!/usr/bin/python被硬编码为始终运行/usr/bin/python,而#!/usr/bin/env python将运行当前环境中默认为python的任何内容(例如{{}} 1}},你可以检查哪个python解释器将与$PATH一起使用。

第二种方式(which python)是首选,因为它不依赖于特定的安装。例如,它适用于没有#!/usr/bin/env python的{​​{1}}设置或系统,但仅限于virtualenv