2
我有3個python項目。項目A,項目B和C.項目項目C依賴於,項目A和B有什麼辦法可以解決Pyxb導致的版本衝突問題
Project C --- depends ---> Project A
Project C --- depends ---> Project B
和項目A和項目B一切都取決於PyXB,他們使用一些生成的架構模塊。不幸的是,項目A使用PyXB 1.2.2和項目B使用PyXB 1.2.3
Project A --- depends ---> PyXB 1.2.2
Project B --- depends ---> PyXB 1.2.3
如果你讀了這些模塊,你會看到
# Version of PyXB used to generate the bindings
_PyXBVersion = '1.2.3'
# Generated bindings are not compatible across PyXB versions
if pyxb.__version__ != _PyXBVersion:
raise pyxb.PyXBVersionError(_PyXBVersion)
和
# Version of PyXB used to generate the bindings
_PyXBVersion = '1.2.2'
# Generated bindings are not compatible across PyXB versions
if pyxb.__version__ != _PyXBVersion:
raise pyxb.PyXBVersionError(_PyXBVersion)
所以,目前項目C有版本衝突問題
Project C --- depends ---> PyXB 1.2.2
^
|
X conflict
|
v
Project C --- depends ---> PyXB 1.2.3
並且由於這些模式模塊是手動修改的。很難重新生成它們並應用相同的修改。所以我想知道是否有可能在Python中使用不同的版本導入相同的模塊。例如,我想這可能類似於
with import_routing('pyxb', '..packages.pyxb1_2_3'):
import project_a
有沒有類似這樣的工具?或者我可以在這種情況下使用其他解決方法嗎?