繁体   English   中英

导入模块时,如何指定解释器来编译模块?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM