J'essaie de résoudre un problème de version OpenSSL que je rencontre.
Il semble que j'ai trois versions différentes d'OpenSSL sur mon Mac.
Python 2.7.11 a la version 0.9.7m:
python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 0.9.7m 23 Feb 2007
Au terminal:
openssl version
OpenSSL 1.0.1h 5 Jun 2014
Récemment compilé/installé:
/usr/local/ssl/bin/openssl
OpenSSL> version
OpenSSL 1.0.2h 3 May 2016
OpenSSL>
J'ai récemment mis à niveau mon OS X vers 10.11.5. Dans le processus, a causé un problème pour les scripts python python.) Ci-dessous. Voici l'extrait de message d'erreur:
Message d'erreur Python:
You are linking against OpenSSL 0.9.8, which is no longer *
RuntimeError: You are linking against OpenSSL 0.9.8, which is no longer support by the OpenSSL project. You need to upgrade to a newer version of OpenSSL.
(* - oui, voici à quoi ressemble le message d'erreur. Il est coupé au milieu de la phrase.)
Toute recommandation sur la résolution de ce problème serait grandement appréciée. Ce que j'aimerais, c'est d'avoir Python référence la version OpenSSL 1.0.2h par rapport à la version obsolète 0.9.7m.
J'ai essayé d'installer Python et OpenSSL plusieurs fois en utilisant divers articles/blogs à titre indicatif sans aucune chance.
Vous pouvez installer une version de python qui utilise une version plus récente de openssl.
Vous pouvez d'abord installer une nouvelle version de SSL ouvert
brew update
brew install openssl
brew link --force openssl
Vous devriez voir une version plus récente avec
openssl version -a
Ensuite, vous pouvez installer une version différente de python qui utilise cette nouvelle version de openssl. Si vous utilisez pyenv , ce serait:
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install -v 3.4.3
Vous pouvez trouver plus d'informations sur l'installation d'une version de python avec une version brew installée de openssl ici: https://github.com/yyuu/pyenv/wiki/Common-build -problems
Utilisez ceci comme solution de contournement:
export CRYPTOGRAPHY_ALLOW_OPENSSL_098=1
Cela semble être une vérification récente de la bibliothèque de cryptographie Hazmat. Vous pouvez voir le code source sur:
Le CRYPTOGRAPHY_ALLOW_OPENSSL_098
la variable d'environnement rétrograde l'erreur en avertissement de dépréciation, si vous êtes prêt à prendre le risque. J'ai également rencontré cela sur OS X le jour dernier, donc quelque chose a changé récemment.