运行python get-pip.py遇SNI错误:TLS不可用问题咨询
解决Windows上安装pip时出现的SNIMissingWarning问题
这个警告的核心原因是你的Python版本太老旧,不支持TLS协议里的SNI(Subject Name Indication)扩展。这个扩展是HTTPS请求中让服务器正确返回对应域名证书的关键组件,缺少它不仅会弹出警告,还可能引发证书验证失败,直接阻碍pip的正常安装。下面给你几个可行的解决办法:
一、最彻底的方案:升级Python到新版本
这是我最推荐的做法,理由很充分:
- 从Python 3.4开始,官方安装包已经自带pip,完全不需要手动执行
get-pip.py来安装; - 新版本Python(比如3.8及以上)原生支持SNI,不会再出现这类警告;
- 老版本Python(比如2.7、3.6及更早)已经停止安全维护,存在潜在的安全风险。
升级步骤:
- 下载对应Windows系统的Python稳定版安装包(选3.8+的版本即可);
- 安装时务必勾选**"Add Python to PATH"**选项,这样安装完成后就能直接在命令行里调用
python和pip; - 打开新的命令提示符,输入
python --version和pip --version确认安装成功。
二、临时应急方案(仅当无法升级Python时使用)
如果你暂时没办法升级Python,可以试试以下操作:
- 手动下载和你的Python版本、系统位数匹配的pip wheel包;
- 打开命令提示符,切换到下载的wheel包所在目录;
- 执行本地安装命令:
记得把python -m pip install --no-index --find-links=./ pip-xxx.whlpip-xxx.whl替换成你实际下载的文件名。
另外,你也可以尝试升级pip依赖的urllib3和cryptography库,但老版本Python可能不支持这些库的最新版本,所以这个方法不一定能成功,还是升级Python更靠谱。
内容的提问来源于stack exchange,提问作者Haris
相关产品推荐
相关产品推荐

