我需要下一個情況的幫助。有一個項目需要兩個版本的一個庫。讓這個庫爲lib,其版本:libold和libnew。這些庫不能通過pypi訪問,即它們都在它們自己的文件夾中。讓這些文件夾的路徑爲/path/to/libold和/path/to/libnew。在一個Python項目中使用一個庫的兩個版本
在我的項目中,我需要來自這兩個庫的類的實例,但我不能同時導入它們,但只有舊的或新的lib。
我嘗試下一個方法:
import sys
sys.path.insert(0,'path/to/libold')
import lib as libold
sys.path.pop(0)
sys.path.insert(0,'path/to/libnew')
import lib as libnew
執行此命令,並libold表示libnew相同的庫,libold後。
我也試過importlib和imp並得到了相同的結果。
如何執行導入2個版本的lib?
爲什麼不導入你需要的類? –
「lib」是指python模塊還是C擴展?它是一個包含許多.py文件的包嗎? – tdelaney
您是否測試過'sys.path.insert(0,'path/to/libnew');導入lib爲libnew'實際導入新版本?沒有違法意圖。它看起來像我的代碼應該工作,所以我只是想確定。 – saulspatz