在python脚本中指定python解释器路径

时间:2017-10-19 15:57:51

标签: python python-2.7 pythonpath shebang

我有一个python脚本,我在几个节点中分发。我默认在/ usr / bin中安装了python 2.6,在所有节点的/ opt目录中都有python 2.7。现在,当我从当前节点运行脚本时,我可以从终端设置python 2.7解释器的路径,但是我无法在此脚本分发的其余节点中管理它。我在脚本开头添加了shebang,如 -

class RawModel{
 //...
private:
    GLuint vaoID;
    GLuint verts;
};

但它还没有奏效。如何在脚本本身的开头更改python解释器/ python路径。

1 个答案:

答案 0 :(得分:2)

您解释的内容应该有效,但请检查:

  • 脚本是可执行的(chmod +x my_script.py,如果需要)。
  • 您是直接调用脚本而不是使用其他Python解释器(请检查您是执行./my_script.py还是/path/my_script.py而不是python my_script.py。)

为了帮助诊断问题,您可以在脚本顶部添加以下行:

#!/opt/python2.7/bin/python
import sys
print(sys.executable)

如果输出不是/opt/python2.7/bin/python,您可能正在使用另一个解释器调用该脚本。

如果由于某种原因您只能远程调用2.6版本的Python执行的脚本,但您也可以分发其他文件,您可以尝试将主脚本发送到某处并执行以下辅助脚本:

from subprocess import call
call("/opt/python2.7/bin/python /path/my_scipt.py", shell=True)