You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法升级pip:SSL错误问题求助

关于Python 3.5.5升级pip时SSL报错的解答

先明确你的环境信息:

  • 当前pip版本:pip 9.0.1 from /usr/local/lib/python3.5/site-packages (python 3.5)
  • Python版本:3.5.5
  • OpenSSL版本:1.0.2o 27 Mar 2018

你执行python3.5 get-pip.py时遇到的两个核心问题:SNIMissingWarning和TLSv1协议版本错误,下面逐个解答你的疑问:

疑问一:OpenSSL版本够新,为啥还出TLS协议版本错误?

这问题不在系统的OpenSSL,而是Python 3.5.x的ssl模块默认不支持TLS 1.2作为优先协议。虽然你的系统OpenSSL 1.0.2o是支持TLS 1.2的,但Python 3.5早期版本(比如3.5.5)在编译时,默认的TLS协议上限是TLS 1.1,而现在PyPI已经彻底停用了TLS 1.0/1.1,只接受TLS 1.2及以上的连接请求,所以就出现了这个报错。

简单说:系统OpenSSL有能力,但Python 3.5的ssl模块没调用这个能力。

疑问二:Python 3.5.5为啥会提示SNI不可用?

SNI是TLS的一个扩展,用来让服务器知道你要访问哪个域名,从而返回对应的证书。Python 3.5.x的ssl模块在很多编译环境下,都没有默认启用SNI支持——哪怕系统OpenSSL支持这个功能,Python编译时如果没开相关配置,ssl模块就用不了SNI。

提示里说“升级Python解决”是因为Python 3.6及以后的版本,ssl模块默认就开启了SNI和TLS 1.2+支持,从根源上解决了这些兼容性问题。

临时修复方案(不用升级Python)

如果暂时没法升级Python到3.6+,可以试试这两个办法:

  1. 本地安装支持Python 3.5的最后一个pip版本(20.3.x):
    • 先下载pip 20.3.4的源码包(可从PyPI历史版本库获取)
    • 解压后进入目录,执行安装命令:
      tar -xzf pip-20.3.4.tar.gz
      cd pip-20.3.4
      python3.5 setup.py install
      
  2. 配置pip使用支持旧协议的国内镜像源,避免PyPI的严格限制:
    pip3.5 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    

内容的提问来源于stack exchange,提问作者Zeno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:37:29