0

我编写了一个模块(mymodule32.py),其中包含一个仅支持 32 位 Python 的库。我想将此模块导入 64 位 Python 文件 (main64.py)。但是经过搜索,我意识到如果我在 64 位 Python 中导入模块,它将使用 64 位解释器进行编译。我将在 main64.py 中导入 mymodule32.py,但我想用 32 位解释器来解释它。

我安装了 Python 3.5 64 位,另外我在 Anaconda 虚拟环境中安装了名为 py35_32 的 Python 3.5 32 位。我在下面写了我想要的伪代码(当然它不起作用)。

import(interpreter = py35_32) mymodule32
4

1 回答 1

2

你不能做你想做的事import。解释器是单个进程,不能在 64 位和 32 位模式之间切换。

你的选择是

  • 在 Python 32 位二进制文​​件中运行所有代码。您可以通过测试sys.maxsize == (2 ** 31 - 1).

  • 使您的库也可以在 64 位解释器上正常工作(只要确保您的 32 位算术被正确屏蔽)。

  • 运行另一个 Python 进程作为子进程;该子进程将导入您的模块并使用某种形式的 IPC(进程间通信)在父 64 位进程和子 32 位解释器之间传递数据和结果。但是,这里没有现成的解决方案。

于 2018-01-21T15:42:57.347 回答