我有3个python项目。A、B、C项目C项目依赖项目A、B
Project C --- depends ---> Project A
Project C --- depends ---> Project B
项目A和项目B都依赖于PyXB,它们使用一些生成的模式模块。不幸的是,项目A使用PyXB 1.2.2,项目B使用PyXB 1.2.3
^{pr2}$如果您阅读这些模块,您将看到
^{pr3}$以及
^{pr4}$所以,目前,项目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
有这样的工具吗?或者在这种情况下我还可以使用其他的方法吗?
不容易。绑定确实对特定版本的PyXB提供的底层API进行了假设。只要没有文档引用来自两个名称空间的绑定,修改模块元数据以允许两个版本共存,这可能有一些神奇之处。在
不幸的是,生成的绑定是手动修改的。在许多情况下,使用PyXB的customization infrastructure可以消除这种紧耦合,在这种情况下,您可以重新生成绑定并重用覆盖它们的定制。在
相关问题 更多 >
编程相关推荐