Mac OS下通过easy_install安装pip失败求助
解决easy_install安装pip时出现TLSv1协议版本错误的问题
我来帮你搞定这个困扰!你试的sudo /usr/bin/easy_install pip和sudo easy_install pip本质是同一个工具(只是指定了不同路径),它们都失败的原因是同一个:你的Python版本大概率是2.7.9之前的旧版本,这类版本的SSL模块默认不支持TLS 1.2;而现在PyPI已经彻底禁用了TLS 1.0/1.1这些不安全的旧协议,导致easy_install无法和PyPI建立有效的安全连接,自然找不到并下载不了pip。
下面是经过验证的可靠解决方案,分步骤来:
方法一:手动下载并安装兼容版本的pip
因为老版本的工具连不上PyPI,我们直接手动获取适配Python 2.7的最后一版pip(20.3.4):
- 下载pip源码包(用curl或wget都可以,选你系统有的工具):
curl -O https://files.pythonhosted.org/packages/source/p/pip/pip-20.3.4.tar.gz # 或者如果没有curl,用wget: # wget https://files.pythonhosted.org/packages/source/p/pip/pip-20.3.4.tar.gz - 解压下载的压缩包:
tar xzf pip-20.3.4.tar.gz - 进入解压后的目录:
cd pip-20.3.4 - 用本地Python手动安装:
sudo python setup.py install
方法二:使用官方老版本get-pip脚本(更简便)
如果上面的下载步骤也因为SSL问题失败,可以用PyPA提供的适配Python 2.7的get-pip脚本:
- 下载脚本:
curl -O https://bootstrap.pypa.io/pip/2.7/get-pip.py # 或者wget: # wget https://bootstrap.pypa.io/pip/2.7/get-pip.py - 执行脚本安装:
sudo python get-pip.py
额外说明
- 为什么之前的
easy_install不管用?因为你的setuptools(easy_install是它的子工具)版本也很老,同样不支持TLS 1.2,就算你想先升级setuptools也会遇到同样的SSL错误,所以手动安装是最直接的解决途径。 - 安装完成后,你可以用
pip --version验证是否安装成功,如果提示命令不存在,可能需要把pip的路径(比如/usr/local/bin)加入系统环境变量。
内容的提问来源于stack exchange,提问作者Malwinder Singh
相关产品推荐
相关产品推荐

