无法安装Python新包,升级至TLS 1.2能否解决?
解决pip安装失败及SSL TLS版本错误的方案
你的问题很典型——旧版本的curl或系统SSL库不支持PyPA现在要求的TLS 1.2/1.3协议,导致连接被拒绝。这里有几个针对性的解决办法,你可以挨个试试:
升级curl工具
这是最直接的方式,因为旧版curl默认可能不启用TLS 1.2:- Ubuntu/Debian系统:
sudo apt update && sudo apt install --only-upgrade curl - CentOS/RHEL系统:
sudo yum update curl - macOS(用Homebrew):
brew upgrade curl
- Ubuntu/Debian系统:
绕开curl,手动下载get-pip.py
如果升级curl有困难,可以直接用浏览器访问https://bootstrap.pypa.io/get-pip.py,把文件保存到本地,然后在终端运行:python get-pip.py,这样就能避开curl的SSL协议问题。强制curl使用TLS 1.2(如果curl支持的话)
尝试修改命令,指定使用TLS 1.2协议:curl --tlsv1.2 https://bootstrap.pypa.io/get-pip.py | python如果运行时提示
--tlsv1.2参数不存在,说明你的curl版本太老,还是得先升级curl。检查并升级OpenSSL版本
运行openssl version查看当前版本,如果低于1.0.1g,那它本身就不支持TLS 1.2,需要升级:- Ubuntu/Debian:
sudo apt install --only-upgrade openssl - CentOS/RHEL:
sudo yum update openssl
- Ubuntu/Debian:
另外补充一点:如果你的Python版本是2.7.9以下,那Python本身也不支持TLS 1.2,这种情况建议直接升级到Python 3.x版本,毕竟Python 2已经停止维护,很多第三方包也不再兼容了。
内容的提问来源于stack exchange,提问作者Mike S
相关产品推荐
相关产品推荐

