python shebangs用usrbinenv而不是hard-path有什么区别?

问题描述 投票:61回答:1

我以前用的是shebang

#!/usr/bin/env python

什么时候使用比较好

#!/usr/bin/python

它们之间到底有什么区别?

python path environment shebang
1个回答
75
投票

#!/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.

© www.soinside.com 2019 - 2024. All rights reserved.