安装django-constance时遇[SSL: TLSV1_ALERT_PROTOCOL_VERSION]错误求助
解决pip安装django-constance时的SSL TLSv1协议版本错误问题
从你给出的错误信息和系统配置来看,这个问题的核心原因是你的pip版本(9.0.1)和Python3.5.2默认使用的TLS协议版本过旧——现在PyPI已经停止支持TLSv1.0和TLSv1.1,只接受TLSv1.2及以上的连接,所以才会出现SSL证书验证失败的报错。
下面给你几个可行的解决办法,按推荐程度排序:
方法一:升级pip到支持TLSv1.2的版本(推荐)
因为直接用pip3 install --upgrade pip可能也会遇到同样的SSL问题,所以我们用官方的get-pip.py脚本本地升级:
- 下载对应Python3.5的get-pip.py脚本:
curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py - 运行脚本升级pip:
升级完成后,你的pip会更新到Python3.5支持的最高版本(20.3.4),这个版本已经支持TLSv1.2,之后再运行安装命令:python3 get-pip.py
就能正常下载安装了。pip3 install django-constance
方法二:临时跳过SSL证书验证(应急用,不推荐长期使用)
如果暂时无法升级pip,可以通过--trusted-host参数让pip信任PyPI的主机,跳过SSL验证:
pip3 install django-constance --trusted-host pypi.python.org --trusted-host files.pythonhosted.org
注意:这个方法会降低安全性,只建议在临时应急场景使用。
方法三:升级系统OpenSSL库(进阶方案)
如果上述方法无效,可能是你的系统OpenSSL版本过低导致Python无法支持TLSv1.2。对于Mac系统,你可以通过Homebrew升级OpenSSL:
brew update && brew upgrade openssl
之后需要重新编译Python3.5,让它链接到新的OpenSSL库。这个步骤相对复杂,适合有一定系统操作经验的用户。
验证完成后,你应该就能顺利安装django-constance了。
内容的提问来源于stack exchange,提问作者qg_java_17137
相关产品推荐
相关产品推荐

