我安装了 2.7 和 3.0 版本的 Python 解释器(在我的 Ubuntu 32 系统上),但一个特定的脚本使用 3.0。
使用
#!/usr/bin/python3 -B
当程序与python myprogram.py
.
而且我还需要一个同样适用于 Windows 的解决方案,我也安装了两个 python 版本。
如何使脚本仅使用正确的 python 版本运行?
我安装了 2.7 和 3.0 版本的 Python 解释器(在我的 Ubuntu 32 系统上),但一个特定的脚本使用 3.0。
使用
#!/usr/bin/python3 -B
当程序与python myprogram.py
.
而且我还需要一个同样适用于 Windows 的解决方案,我也安装了两个 python 版本。
如何使脚本仅使用正确的 python 版本运行?
请使用virtualenv,它使孤立的 Python 环境变得容易。
python = Python to use. # This has to be the absolute path to Python executable
os.execl(python, python, * sys.argv)
这样,您可以使用要使用的 python 重新启动脚本。不是很时髦。
我不知道为什么你不能只用 启动程序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 语法
请看一下错误的python解释器被调用
您必须根据安装所需 Python 版本和系统变量的位置来选择正确的解释器。