为另一个pip问题表示歉意,但我几乎尝试了所有其他线程,但到目前为止没有任何效果。
所以我遇到的问题是由于使用TLSv1.0,pip无法安装任何软件包
Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661) - skipping
我已经完成了curl的下载,下载了get_pip.py脚本,然后使用sudo python执行了它。
我尝试手动下载pip.tar.gz,解压缩并通过pip install ./pip.10.0.3
安装后,我已经完成pip install --upgrade setuptools
我已经通过Homebrew安装了python。
pip --version
pip 10.0.1 from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip (python 2.7)
但是,每次尝试安装软件包时,每次仍然出现此TLSv1错误,并显示我正在使用TLS1.0
python2 -c "import urllib2,json; print(json.loads(urllib2.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"
TLS 1.0
运行OSX 10.13.4
编辑:
python2 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zh 14 Jan 2016
$ brew upgrade openssl
Error: openssl 1.0.2o_2 already installed
EDIT2: 跟随这里的话题,最高的答案,并最终成功 Python referencing old SSL version
$ python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 1.0.2o 27 Mar 2018
答案 0 :(得分:0)
$ brew upgrade openssl
Error: openssl 1.0.2o_2 already installed
这表明您的系统上确实安装了更新版本的openssl。
python2 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zh 14 Jan 2016
但这表明Python的ssl模块是针对旧版本编译的。
我不熟悉Homebrew,但是根据Homebrew Github页面上的this issue,Homebrew现在默认使用自己的openssl
版本。
基于此,解决此问题的完整步骤将是:
brew uninstall python2
brew update
brew upgrade openssl
brew install python2