1樓:依雲
有三種方案。
一、跑多個程序,使用 IPC 手段來協調(開對匿名套接字做 RPC 之類的)。
二、像 Vim 那樣弄執行時動態鏈結。好麻煩的,還不容易做好相容。
三、把那個只支援 Python 2.x 的模組給改成相容 Python 3.x 的,並且改動要足夠好,然後說服上游讓他們合併。
2樓:Coldwings
從實際情況來看,模組在執行時只會使用你執行程式的直譯器,因此如果兩個模組開發時針對環境不同,那麼沒有任何好辦法可以讓它通過兩種直譯器分別使用不同模組。
目前看來有乙個辦法是,自己包裝一下兩個模組,通過MQ、RPC甚至PIPE進行通訊,分別使用不同的venv去跑,然後寫個啟動指令碼的幹活。
其次就是用py3去跑,並且把py2裡的那個模組改改,想辦法用six/2to3做一下相容。這樣可能是最省事的。
3樓:黃哥
有二種解決方法。
1、利用異常
try: # Python 2.7+
from collections import OrderedDict
except ImportError:
from .packages.ordered_dict import OrderedDict
from .packages.six import iterkeys, itervalues, PY3
2、利用sys.version_info import sys
if (sys.version_info > (3, 0Python 3 code in this block
import base64
return base64.b64encode(data).decode()
else:
# Python 2 code in this block
return data.encode("base64")
如何在js中呼叫php
Shaopeng 大概是下面這樣,js不能呼叫PHP方法,但可以通過http request方式觸發php方法並得到response server.php name POST name password POST password result loginUser name,password ech...
如何在同一U盤中安裝多個系統?
U盤分兩個區,自己建立乙個ESP分割槽,外加乙個NTFS分割槽放多系統的VHDX檔案。使用BOOTICE工具編輯引導。不知道這種方法能不能滿足需求。 補天芯資料恢復 同意金滿堂的回答,可以把U盤量產為硬碟模式。補充乙個,雙系統不論是裝U盤還是硬碟,都需要單獨分割槽,乙個系統放乙個分割槽。如果不知道如...
Directx 11中,如何在同乙個 Rendering Pass 暫時儲存乙個2D Texture?
沒有大牛的幫助自己回答一下自己,暫時沒有想到很好的解決方法。只想到一種節省記憶體的做法,即交叉迴圈使用。以下的各 pass 都是 Full screen quad pass。1。Initialize 2個 Texture2D back buffer,即 texture 1 和 texture 2 2...