点名冲突

And*_*rew 5 python pip package pypi setup.py

我的项目取决于一些公共包和一些私人包.其中一个私有名称与PyPi上的另一个公共程序包同名(让我们称之为'冲突').在我的setup.py文件中

install_requires = ['public_a', 'public_b', 'conflicting' ],
dependency_links = ['https:blah/blah/blah/conflicting.git#egg=conflicting']
Run Code Online (Sandbox Code Playgroud)

即使我在依赖链接中指定了egg,pip仍会安装公共包"冲突".当名称冲突时,有没有办法确定私有包的优先级?

小智 2

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

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

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

  • 如果您的私人 pypi 服务器出现故障,我相信 pip 可能(默默地)安装公共软件包 (3认同)