[英]When importing a module, how do I specify an interpreter to compile the module?
我编写了一个模块(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
您无法使用import
做任何事情。 解释器是单个进程,不能在64位和32位模式之间切换。
您的选择是
在Python 32位二进制文件中运行所有代码。 您可以通过测试sys.maxsize == (2 ** 31 - 1)
来防止使用64位二进制文件。
也使您的库在64位解释器上也能正常工作(只需确保正确屏蔽了32位算术)。
运行另一个Python进程作为子进程; 该子进程将导入您的模块,并使用某种形式的IPC(进程间通信)在父64位进程和子32位解释器之间传递数据和结果。 但是,这里没有现成的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.