在Naoqi 2.1.4版本中使用pip安装包时遭遇SSLError问题
解决Naoqi 2.1.4环境下pip安装包的SSL协议版本错误
问题重现
在Naoqi 2.1.4环境中使用pip 9.0.3(Python 2.7.3)安装google-cloud包时,出现以下SSL错误:
确认SSL证书时出现问题:
HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/google-cloud/ (Caused by SSLError(SSLError(1, '_ssl.c:504: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'),)) - skipping
问题原因
PyPI官方早在2020年就停止了对TLSv1.0和TLSv1.1协议的支持,而你使用的pip 9.0.3和Python 2.7.3默认不启用更安全的TLSv1.2协议,导致与PyPI服务器建立SSL连接时被拒绝,从而抛出上述错误。
解决方案
1. 升级pip到支持TLSv1.2的兼容版本
由于直接用旧pip升级会遇到同样的SSL问题,我们需要手动下载适配Python 2.7的get-pip.py脚本进行升级:
- 首先下载脚本(如果curl提示SSL错误,添加
--tlsv1.2参数强制使用TLSv1.2):curl --tlsv1.2 https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py - 执行脚本升级pip到Python 2.7支持的最后版本(pip 20.3.4):
python get-pip.py
2. 安装兼容Python 2.7的google-cloud版本
注意:新版本的google-cloud包已经不再支持Python 2.7,所以需要指定兼容的旧版本进行安装:
pip install google-cloud==0.34.0
临时替代方案(不推荐,仅应急使用)
如果无法升级pip,可以临时通过HTTP源安装(存在安全风险):
pip install google-cloud --trusted-host pypi.python.org --index-url http://pypi.python.org/simple/
内容的提问来源于stack exchange,提问作者Abhishek Saharan
相关产品推荐
相关产品推荐

