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

gun*_*nit 5 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
Run Code Online (Sandbox Code Playgroud)

示例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
Run Code Online (Sandbox Code Playgroud)

另外,pip.conf文件中index和index-url的区别是什么?

Mar*_*ers 15

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

pip.conf另一方面,只有pip工具使用它,并且pip从不发布包,它从它们下载包.因此,它永远不会查看.pypirc文件.

如果您不发布包,则不需要.pypirc文件.您无法使用它来配置索引服务器pip.

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

  • --index-url是与安装包(对付几个点子命令中常见的开关pip install,pip download,pip list,和pip wheel),它是一组交换机的一部分(连同--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.