如何在同一项目中同时使用3.2和2.7的Python解释器运行代码?

3 投票
2 回答
1353 浏览
提问于 2025-04-16 17:32

我有两个用Python写的类,它们分别在不同的文件里。一个是用Python 2.7写的,另一个是用Python 3.2写的。其中一个类在另一个类里面被使用。

我能不能让这两个类同时运行,让一个类用3.2的解释器,另一个用2.7的解释器呢?

比如在终端里,我能不能直接运行下面这个命令?

python3.2 firstClass.py

有没有什么建议?

谢谢

2 个回答

0

这就简单得像123一样。希望你的电脑上同时安装了Python 2.7和Python 3.X.X。接下来在命令提示符里输入以下命令:

1) py -2 //用于运行用Python 2写的程序

2) py -3 //用于运行用Python 3写的程序

谢谢!

5

我觉得它们不可能在同一个进程中运行,也就是说你必须选择使用其中一个。Python3和Python2的字节码是互不兼容的,你可以通过尝试在Python3中运行Python2的字节码来验证这一点:

% cat > test.py
a = 1
% python2.6 -m compileall .
% python2.6 test.pyc
% python3.1 test.pyc
RuntimeError: Bad magic number in .pyc file

为了确保这一点,可以尝试一些更复杂的操作。用Python2编译一下test.py,然后删除.py文件,以确保它不会被Python3重新编译。接着,尝试在Python3的解释器中导入这个.pyc字节码。

% python2.6 -m compileall .
% rm test.py
% cat > test2.py
import test
print(test.a)
% python2.6 test2.py
1
% python3.1 test2.py
Traceback (most recent call last):
  File "test2.py", line 1, in <module>
    import test
ImportError: Bad magic number in test.pyc

撰写回答