使用Python路径为Python脚本设置Shebang

3

我有一个脚本,想要设置shebang,以便我可以执行./script.py而不是python script.py。当它位于我的脚本的顶部行时,这对我有效。

#!/usr/bin/env python。这使用了env

当我尝试更改为#/usr/local/lib/python2.7时,我会得到以下错误信息。

/usr/local/lib/python2.7: bad interpreter: Permission denied

当我查看我的Python版本时,它是:
>>> import sys
>>> sys.version
'2.7.3 (default, Jun 21 2013, 13:45:37) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]'
>>> 

sys.path会返回/usr/local/lib/python2.7/*,尽管我没有看到任何特定于python2.7.3的内容。

你能指导我如何使用pythonpath来设置,而不是使用env吗?

谢谢!

2个回答

5

Shebang行应该包含实际的Python解释器可执行文件,而不仅仅是指向你的Python安装路径的路径。你可以使用which python找到你要查找的Python解释器。


那个有效!但是Python解释器的PythonPath和可执行文件之间有什么区别吗? - brain storm
是的。PYTHONPATH 用于追加模块搜索路径。 - Colonel Panic

3
在命令行上运行which python 命令,可以获取你所需的shebang路径。请注意保留HTML标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接