我有一个问题:我的公司代理杀死了每个 pip 安装。
export http_proxy=
不起作用:
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))
也pip install --proxy=... --trusted-host=...
不起作用。只有当我一起使用它时我才能安装一些东西pip
。
而且它在操作系统中。当我使用virtualenv
它时,即使一起用也无法工作。我不知道该怎么办。请帮帮我。
例子,
sudo pip install --proxy=... --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org sentry
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)",)': /packages/bb/ee/edda27f5f59a98adb2aa1c0c939d7a15cada155eea73f5b56dc0b593deaa/sentry-9.0.0-py27-none-any.whl
Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/bb/ee/edda27f5f59a98adb2aa1c0c939d7a15cada155eea73f5b56dc0b593deaa/sentry-9.0.0-py27-none-any.whl (Caused by ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)",))
答案1
您的公司代理需要提供用户名和密码,但您的http_proxy
环境变量没有这些。
必须http_proxy
设置用户名和密码,例如:
http://username:[email protected]:8080/
答案2
可能有多件事同时发生:
该错误
error('Tunnel connection failed: 407 Proxy Authentication Required',)
表明您需要身份验证才能使用代理,如这个答案。除了设置环境变量之外,
http_proxy=
您通常还需要https_proxy=
指示应用程序使用代理服务器进行 https 连接。执行命令时,
sudo
环境将被清理,并且 http_proxy 和 https_proxy 环境变量很可能不适用于 pip 命令。您可以在开头
添加一行,例如,以保留这些用户提供的环境变量。Defaults env_keep = "http_proxy https_proxy ftp_proxy"
/etc/sudoers
答案3
我公司的代理工作得很糟糕/出乎意料——它先下载到中间服务器,然后才给我下载。因此,对于终端用户(我的电脑)来说,下载似乎被中止了。它因异常而崩溃ReadTimeoutError
因此,我增加超时时间并等待 - 然后它会根据需要安装。