pip 忽略代理设置

she*_*heh 1 python proxy pip

我正在尝试通过代理使用 pip 在服务器上搜索/安装一些软件包。服务器无法直接访问https://pypi.python.org

我跑:

pip search --proxy 1.1.1.1:1111 lxml
Run Code Online (Sandbox Code Playgroud)

(而不是1.1.1.1:1111使用真实的ip和端口)

并获取 python 跟踪:

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  ......
  ......
  File "/usr/lib/python2.7/httplib.py", line 772, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
error: [Errno 111] Connection refused
Run Code Online (Sandbox Code Playgroud)

当我尝试在本地计算机上运行此命令(可以直接访问https://pypi.python.org)时,我得到了正确的结果:

 pip search --proxy 1.1.1.1:1111 lxml
 lxml                      - Powerful and Pythonic XML processing library combining
 libxml2/libxslt with the ElementTree API.
 ...
Run Code Online (Sandbox Code Playgroud)

但是当我在本地计算机上使用错误的代理设置运行时:

 search --proxy blablabla lxml
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果:

 lxml                      - Powerful and Pythonic XML processing library combining
 libxml2/libxslt with the ElementTree API.
 ...
Run Code Online (Sandbox Code Playgroud)

这是否意味着 pip 忽略--proxy设置?

更新:

点 1.3.1

小智 5

这是一个老错误pip,但作者似乎选择忽略它。请参阅https://github.com/pypa/pip/pull/1180https://github.com/pypa/pip/issues/1017