为什么'#!/ usr / bin / env python'比'#!/ usr / bin / python'更正确?
任何人都知道吗? 我从来没有找到答案。
如果你很容易在你PATH上各种有趣的地方安装python(比如典型的Unix shell中的$PATH
,典型的Windows中的%PATH
),使用/usr/bin/env
将容纳你的奇思妙想(在Unix中至少)直接进入/usr/bin/python
不会。 但是失去对脚本运行的Python版本的控制并不是非合作的讨价还价......如果你看看我的代码,你更有可能看到它开始,例如#!/usr/local/bin/python2.5
而不是开放并接受#!/usr/bin/env python
- 假设脚本很重要我想确保它与我测试过的特定版本一起运行,而不是一个半随机的;-) 。
从维基百科
Shebangs指定系统可执行文件的绝对路径; 这可能会导致在具有非标准文件系统布局的系统上出现问题
通常,程序/ usr / bin / env可以用来绕过这个限制
它会在您的环境中找到python可执行文件并使用它。 它更便于携带,因为python可能并不总是在/ usr / bin / python中。 env始终位于/ usr / bin中。
链接地址: http://www.djcxy.com/p/46399.html上一篇: Why is '#!/usr/bin/env python' supposedly more correct than just '#!/usr/bin/python'?
下一篇: Why do people write the #!/usr/bin/env python shebang on the first line of a Python script?