首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pip名称冲突

Pip名称冲突
EN

Stack Overflow用户
提问于 2015-05-22 05:06:22
回答 2查看 1.9K关注 0票数 6

我的项目依赖于一些公共包和一些私有包。其中一个私有包与PyPi上的另一个公共包具有相同的名称(让我们称其为“冲突”)。在我的setup.py文件中

代码语言:javascript
复制
install_requires = ['public_a', 'public_b', 'conflicting' ],
dependency_links = ['https:blah/blah/blah/conflicting.git#egg=conflicting']

即使我在依赖链接中指定了egg,pip仍然安装了公共包“conflicting”。当存在名称冲突时,有没有办法区分私有包的优先级?

EN

回答 2

Stack Overflow用户

发布于 2016-06-25 04:54:04

我知道这有点花里胡哨,但这很简单,而且确实有效:

在本地包的版本号上加上100。只要pip可以通过--extra-index--find-links options找到您的本地包,它就会比较版本号,并采用满足依赖包的setup.py中指定的版本约束的最高可用版本。如果你的包有更高的版本,它将获胜。

票数 3
EN

Stack Overflow用户

发布于 2016-01-15 00:24:22

您可以设置自己的PyPi服务器,并将其用作主要来源,而将全局服务器用作辅助来源。这将使您的包优先于公共包。

例如手动:pip install --index-url=<your-pipy-server> --extra-index-url=https://pypi.python.org/simple <your package>

当然,如果您尝试安装的版本在您的服务器上丢失,但可从冲突的公共包中获得,则可能会发生错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30384322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档