我有一个python脚本,我在几个节点中分发。我默认在/ usr / bin中安装了python 2.6,在所有节点的/ opt目录中都有python 2.7。现在,当我从当前节点运行脚本时,我可以从终端设置python 2.7解释器的路径,但是我无法在此脚本分发的其余节点中管理它。我在脚本开头添加了shebang,如 -
class RawModel{
//...
private:
GLuint vaoID;
GLuint verts;
};
但它还没有奏效。如何在脚本本身的开头更改python解释器/ python路径。
答案 0 :(得分:2)
您解释的内容应该有效,但请检查:
chmod +x my_script.py
,如果需要)。./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)