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

What's the difference between Python pip's pip.conf and pypirc file?

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

.pypirc 是多种工具使用的文件标准,pip 不使用。例如,easy_install 工具 reads that file, as does twine。它包含有关如何在发布包时访问特定 PyPI 索引服务器的配置

另一方面,

pip.confpip 工具使用,并且 pip 从不发布包,它从下载包他们。因此,它从不查看 .pypirc 文件。

如果您不发布包,则不需要 .pypirc 文件。您不能使用它为 pip.

配置索引服务器

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

  • --index-url 是几个处理安装包的 pip 命令(pip installpip downloadpip listpip wheel),它是一组开关的一部分(连同 --extra-index-url--no-index--find-links--process-dependency-links 以及一些已弃用的开关)一起配置包发现是如何工作的。 URL 必须指向 PEP 503 Simple Repository API 位置,默认为 https://pypi.org/simple.

  • --index 仅供 pip search 使用;它只需要这一条信息。它被单独命名是因为它应该指向 public 搜索网络界面,而不是简单的存储库!对于 https://pypi.org,即 https://pypi.org/pypi