如何处理名称冲突的python包?

时间:2014-12-17 18:13:21

标签: python namespaces setuptools alembic

我使用两个名称相同的python包。

是否有规范或pythonic方式来处理安装两个名称冲突的包?到目前为止,我只是在开发/构建过程中偶尔需要其中一个软件包,所以我一直在使用一个单独的virtualenv来处理冲突,但它使构建步骤更加复杂,我想知道是否存在不是处理它的更好方法。

2 个答案:

答案 0 :(得分:3)

您可以使用--target选项进行pip并安装到备用位置:

pip install --target=/tmp/test/lib/python3.6/site-packages/alt_alembic alembic

然后当您在python中导入时,像往常一样执行第一个操作,并从alt执行从该命名空间导入,如下所示:

import alembic  # alembic.io version
from alt_alembic import alembic as alt_alembic  # pip version

然后当你打电话给那个时,你可以调用alt_alembic.function()和不在PyPi中的那个,alembic.function() 当我使用虚拟环境时,我的目标路径有/ tmp / test。您需要使用正确的路径替换该路径以进行python安装。

答案 1 :(得分:-1)