При выполнении различных сценариев с Python 2.7.14 я продолжаю сталкиваться с ошибками, которые, похоже, приводят к моей OpenSSL установке.
например. при использовании requests
:
requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:661)
Я в сети:
- Python 2.7.14
- MacOS Mojave Версия 10.14.3
- НЕ используя доморощенный ! (и предпочел бы не)
Mac OS использует LibreSSL :
$ openssl version -a
LibreSSL 2.6.5
built on: date not available
platform: information not available
options: bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) blowfish(idx)
compiler: information not available
OPENSSLDIR: "/private/etc/ssl"
$ which openssl
/usr/bin/openssl
Однако в моих установках Python (из исходных текстов) используется OpenSSL - две разные версии:
$ python2.7 -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 0.9.8zh 14 Jan 2016
$ python3.7 -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.1.0i 14 Aug 2018
Я хочу обновить OpenSSL , используемый с Python 2.7, без использования homebrew
(ни Anaconda) и без использования дополнительного пакета, такого как pyOpenSSL
.
Большинство решений, которые я могу найти в Интернете, предлагают использовать homebrew
и поэтому не отвечают на мой вопрос:
Ни одна из моих версий Python не установлена с использованием homebrew
, и я хотел бы остаться чистым, чтобы не усложнять установку моей ОС.
Учитывая, что установлены разные версии OpenSSL, я должен следовать этому предложению и связать Python 2.7 с более новой версией OpenSSL?
- Это лучший способ двигаться вперед?
- Что может пойти не так?
- Какие жизнеспособные альтернативы?
- Есть ли хороший ресурс для обучения навигации по SSL-Python-джунглям на Mac?