pip не работает из-за SSL-сертификата TLSv1.0
Извиняюсь за еще одну проблему в пипсах, но я пробовал почти все остальные темы, и пока ничего не работает. Так что у меня проблема в том, что pip не устанавливает пакет из-за использования TLSv1.0Could 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
Я установил Python через Homebrew.
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
РЕДАКТИРОВАТЬ 2: Следовал за потоком здесь, самый верхний ответ и в конечном итоге работал Python ссылаясь на старую версию SSL
$ python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 1.0.2o 27 Mar 2018
1 ответ
$ 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
Но это показывает, что ssl-модуль Python был скомпилирован с более старой версией.
Я не знаком с Homebrew, но согласно этой проблеме на странице GitHub Homebrew, Homebrew теперь использует свою собственную версию openssl
по умолчанию.
Исходя из этого, полными шагами по решению этой проблемы будет:
brew uninstall python2
brew update
brew upgrade openssl
brew install python2