使用代理后面的pip安装任何软件包时发生SSL问题

时间:2018-06-28 08:08:15

标签: python ssl proxy pip http-proxy

在代理后面安装tensorflow或任何其他软件包时遇到的问题:

第一次尝试:

运行命令:

pip install --upgrade tensorflow

输出:

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(10054, 'An existing connection was
 forcibly closed by the remote host', None, 10054, None))': /simple/tensorflow/

第二次尝试:

然后我提供了代理详细信息以及命令

>pip install --upgrade tensorflow --proxy http://user:passwd@xxx.xx.x.xx:80

输出错误:

Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:83
3)'),)': /simple/tensorflow/

根据pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"的建议尝试三次:

pip install --upgrade tensorflow --trusted-host pypi.org --trusted-host files.pythonhosted.org --proxy http://user:passwd@xxx.xx.x.xx:80

输出:

与上述相同。

任何人都可以帮助??

编辑:在Windows计算机上工作

2 个答案:

答案 0 :(得分:0)

我怀疑您可能需要在计算机上设置代理环境变量才能使用代理。尝试设置以下内容(假设您在Linux或Mac OS上):

export HTTP_PROXY=http://user:passwd@xxx.xx.x.xx:80
export HTTPS_PROXY=https://user:passwd@xxx.xx.x.xx:443

您不一定需要设置HTTPS_PROXY变量,但这样做没有什么害处

然后尝试在没有标志的情况下运行

pip install tensorflow

答案 1 :(得分:0)

在pip和apt之间有一些更新混淆后,我遇到了类似的问题。遵循一些我不记得的SO页面上的建议,我已经启动

sudo python -m easy_install --upgrade pyOpenSSL 

并重新运行。

LE:可能误解了问题。