我曾经用过shebang
#!/usr/bin/env python
什么时候更好用
#!/usr/bin/python
它们之间的确切区别是什么?
#!/usr/bin/python被硬编码为始终运行/usr/bin/python,而#!/usr/bin/env python将运行python在当前环境中默认的默认运行(例如$PATH,将考虑在内,您可以检查将使用哪个python解释器which python)。
/usr/bin/python
python
$PATH
which python
第二种方法(#!/usr/bin/env python)是首选方法,因为它不依赖于特定的安装。例如,它适用于virtualenv没有设置的系统或系统,/usr/bin/python例如/usr/local/bin/python。
virtualenv
/usr/local/bin/python