pip 没有读取 ~/.pip/pip.conf

pip not reading the ~/.pip/pip.conf

这与 jfrog 神器有关。 pypi-public 是我们的虚拟仓库,我们的内部 pypi-internal 与 pypi-public 相关联。我可以在网络 UI.

上看到包 vapi_common

下面的命令可以搜索包

pip search vapi_common --index=https://<username>:<apikey>@company.jfrog.io/artifactory/api/pypi/pypi-public/simple

但是,如果我在 ~/.pip/pip.conf

中使用相同的索引-url
[global]
index-url = https://<username>:<apikey>@company.jfrog.io.jfrog.io/artifactory/api/pypi/pypi-public/simple

然后使用下面的命令 pip search vapi_common -vvv -> 失败以下错误。如您所见,它正试图达到 pypi.org 并且不遵守 pip.conf

中给出的索引 url
pip search vapi_common -vvv
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "POST /pypi HTTP/1.1" 200 419
ERROR: Exception:
Traceback (most recent call last):
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 228, in _main
    status = self.run(options, args)
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/site-packages/pip/_internal/commands/search.py", line 60, in run
    pypi_hits = self.search(query, options)
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/site-packages/pip/_internal/commands/search.py", line 80, in search
    hits = pypi.search({'name': query, 'summary': query}, 'or')
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/xmlrpc/client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/xmlrpc/client.py", line 1450, in __request
    response = self.__transport.request(
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py", line 45, in request
    return self.parse_response(response.raw)
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/xmlrpc/client.py", line 1341, in parse_response
    return u.close()
  File "/home/varmour/.pyenv/versions/3.8.8/lib/python3.8/xmlrpc/client.py", line 655, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -32500: "RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future. See https://status.python.org/ for more information.">

请注意您自己使用 pip search --index=…。也就是说,您应该在 pip.conf 中使用选项 index,而不是 index-urlindex 代表 pip searchindex-url 代表 pip download/install

请参阅 https://pip.pypa.io/en/stable/reference/pip_search/#options

中的文档

修复配置:

pip config set global.index https://:@company.jfrog.io.jfrog.io/artifactory/api/pypi/pypi-public/simple

也许甚至

pip config set global.index `pip config get global.index-url`