我使用Artifactory来承载大量的python模块。有几次,https://pypi.python.org/pypi上的新python模块将以相同的名称上传。当有人试图使用pip从Artifactory安装我的一个模块时,这会导致问题。默认情况下,pip首先查找公共包。pip:优先考虑私人pypi服务器
这是我已经试过:
1.我试图改变我的相应文件.pypirc,
[distutils] index-servers= artifactory pypi
与两个索引服务器相应的条目,但我相当肯定小点忽略了这些信息。
2.我试过手动指定要使用哪个索引服务器。
我可以指定--index-url
或--extra-index-url
,但是当公共软件包的版本号比我的私有软件包更高时,后者不起作用。如果我指定前者,则无法找到公共依赖关系!这就像我赢不了。
3.我试过在setup.py中指定dependency_links
。
...但是不赞成这种方式按照这样的回答:pip ignores dependency_links in setup.py
如何配置PIP喜欢我Artifactory的库在公开招标?
它的工作原理!我想弄清楚如何使这个默认。 – Tom
@Tom更新了如何使其成为默认的答案。 – Tathagata
由于某种原因,这实际上不起作用! :(我用另一个软件包试了一下,它仍然在从pypi找到一个同名的软件包 – Tom