这两个python shebang有什么区别
我曾经使用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/env python
)是首选,因为它不依赖于特定的安装。 它将以virtualenv
设置或系统为例,其中没有/usr/bin/python
,但只有例如/usr/local/bin/python
。