Mac系统无法安装Django,SSL证书验证报错求助
解决Mac上pip安装Django时的[TLSV1_ALERT_PROTOCOL_VERSION]错误
我之前也碰到过一模一样的问题!这个错误的核心原因是旧版本的pip不支持TLS 1.2协议——PyPI早在几年前就停止对TLS 1.0/1.1的支持了,所以你的pip根本没法和PyPI建立安全连接,自然找不到Django的安装包。下面是几个亲测有效的解决办法:
方法一:强制升级pip到支持TLS1.2的版本
普通的pip install --upgrade pip大概率会因为同样的SSL问题失败,所以咱们换个方式,直接用官方脚本升级:
- 打开终端,先下载最新的get-pip脚本:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py - 然后用你的Python运行这个脚本完成升级:
(如果你的系统默认是Python2,而你想用Python3环境,就换成python get-pip.pypython3 get-pip.py)
方法二:临时跳过SSL验证(仅测试用,不推荐生产环境)
如果升级后还是因为本地SSL证书出问题,可以临时加参数跳过验证:
pip install django --trusted-host pypi.org --trusted-host files.pythonhosted.org
用Python3的话就换成:
pip3 install django --trusted-host pypi.org --trusted-host files.pythonhosted.org
方法三:升级Python到较新版本
如果你的Python版本太老(比如Python2.7或者Python3.4及以下),不仅pip版本跟不上,Python本身也不支持新的TLS协议。建议直接装Python3.7及以上版本,自带的pip就是支持TLS1.2的:
- 可以直接从Python官网下载安装包,或者用Homebrew安装:
brew install python3 - 安装完成后用
pip3 install django就能正常安装了。
验证安装成功
安装完之后,在终端执行django-admin --version(Python3环境可能是django-admin3 --version),如果能显示出Django的版本号,就说明没问题啦!
内容的提问来源于stack exchange,提问作者Shawn Edward
相关产品推荐
相关产品推荐

