Python pip的pip.conf和pypirc文件有什么区别?

时间:2018-07-25 18:24:12

标签: python pip nexus pypi

我无法访问用于存储自定义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有什么区别?

1 个答案:

答案 0 :(得分:12)

.pypirc是供多个工具使用的文件标准,但不是pip 使用。例如,easy_install工具reads that filetwine一样。它包含有关发布包时如何访问特定PyPI索引服务器的配置。

另一方面,{p} pip.conf仅由pip工具使用,pip从不发布软件包,而是从软件包中下载软件包。因此,它永远不会查看.pypirc文件。

如果您不发布软件包,则不需要.pypirc文件。您不能使用它为pip配置索引服务器。

对于--index-url--index开关,它们用于不同的pip命令。

  • --index-url是用于处理软件包(pip installpip downloadpip listpip 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