我使用了两个同名的python包。
http://www.alembic.io/updates.html
https://pypi.python.org/pypi/alembic
安装两个名称冲突的包时,有没有一种规范的或蟒蛇式的方法?到目前为止,我只是偶尔在开发/构建过程中需要一个包,所以我一直在使用单独的virtualenv来处理冲突,但它使构建步骤更加复杂,我想知道是否没有更好的方法来处理它。

最佳答案

您可以将--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,就像我使用虚拟env一样。对于您的python安装,您需要用正确的路径替换该路径。

关于python - 如何处理名称冲突的python包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27532112/

10-12 22:23