2

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

使用

#!/usr/bin/python3 -B

当程序与python myprogram.py.

而且我还需要一个同样适用于 Windows 的解决方案,我也安装了两个 python 版本。

如何使脚本仅使用正确的 python 版本运行?

4

4 回答 4

4

请使用virtualenv,它使孤立的 Python 环境变得容易。

于 2013-02-19T10:18:19.073 回答
1
python = Python to use. # This has to be the absolute path to Python executable

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

这样,您可以使用要使用的 python 重新启动脚本。不是很时髦。

于 2013-02-19T10:19:32.817 回答
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 语法

于 2013-02-19T10:34:43.733 回答
0

请看一下错误的python解释器被调用

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

于 2013-02-19T10:19:28.263 回答