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