我无法访问用于存储自定义python软件包的nexus服务器。有人告诉我更改~/.pypirc
文件和~/.pip/pip.conf
文件中的设置。
这两个文件在使用方式上有什么区别?似乎pip install -r requirements.txt
命令引用了pip.conf
文件,然后pip.conf
文件中的字段需要查找pypirc文件?
示例pip.conf文件:
[global]
index = https://user:password@someurl.com/somerepo/pypi-group/pypi
index-url = index = https://user:password@someurl.com/somerepo/pypi-group/simple
示例pypirc文件:
[distutils]
index-servers =
pypi
nexus
[pypi]
repository: https://pypi.org/pypi
username: abc
password: def
[nexus]
repository: https://someurl.com/somerepo/pypi-internal
username: someuser
password: somepassword
而且,pip.conf文件中的index和index-url有什么区别?
答案 0 :(得分:12)
.pypirc
是供多个工具使用的文件标准,但不是pip
使用。例如,easy_install
工具reads that file和twine
一样。它包含有关发布包时如何访问特定PyPI索引服务器的配置。 。
pip.conf
仅由pip
工具使用,pip
从不发布软件包,而是从软件包中下载软件包。因此,它永远不会查看.pypirc
文件。
如果您不发布软件包,则不需要.pypirc
文件。您不能使用它为pip
配置索引服务器。
对于--index-url
和--index
开关,它们用于不同的pip
命令。
--index-url
是用于处理软件包(pip install
,pip download
,pip list
和pip wheel
)的多个pip命令中的常用开关。 ,它是一组交换机(以及--extra-index-url
,--no-index
,--find-links
和--process-dependency-links
以及一组不推荐使用的交换机的组成部分)一起配置了包发现的工作方式。该URL必须指向PEP 503 Simple Repository API位置,默认位置为https://pypi.org/simple
。
--index
仅由pip search
使用;它只需要这一条信息。之所以单独命名,是因为它应该指向公共搜索Web界面,而不是简单的存储库!对于https://pypi.org,则为https://pypi.org/pypi
。