如何让我的脚本选择正确的python解释器?

时间:2013-02-19 10:14:48

标签: python-3.x python-2.7 python

我安装了2.7和3.0版本的Python解释器(在我的Ubuntu 32系统上),但是一个特定的脚本使用3.0。

使用

#!/usr/bin/python3 -B
当程序与python myprogram.py一起运行时,

将无效。

我还需要一个可以在Windows中运行的解决方案,我也安装了两个python版本。

如何让脚本只运行正确的python版本?

4 个答案:

答案 0 :(得分:4)

请使用virtualenv,这样可以轻松实现孤立的Python环境。

答案 1 :(得分:1)

python = Python to use. # This has to be the absolute path to Python executable

os.execl(python, python, * sys.argv)

这样你可以使用你想要使用的python重启脚本。不太时尚。

答案 2 :(得分:1)

我不知道为什么你不能用python3 foo.py启动程序,但是有可能让python2程序像python3一样重新启动它。

import sys
if sys.version_info.major != 3:
    import os
    # replace this process with a python3 process
    os.execlp("python3", "python3", *sys.argv)

这是一个糟糕的解决方案,因为现在你的python3程序不能使用任何无效的python2语法

答案 3 :(得分:0)

请查看The wrong python interpreter is called

您必须根据安装所需Python版本和系统变量的位置选择正确的解释器。