In Python 2.7 kann das Verhalten der OpenSSL-Integration verwirrend sein, da die Programmiersprache mit der des Systems interagiert OpenSSL-Installation. So funktioniert OpenSSL in Python 2.7 und wie Sie Probleme im Zusammenhang mit Versionsaktualisierungen beheben können:
Standardmäßig übernimmt Python 2.7 OpenSSL aus der Systemumgebung. Wenn Sie das SSL-Modul importieren, überprüft Python die OpenSSL-Installation des Systems und verwendet deren Version.
Das Problem tritt auf, wenn Sie OpenSSL manuell auf dem System aktualisieren. Während Ihr Terminal die aktualisierte Version anzeigt, verwendet Python weiterhin die ältere Version. Dies liegt daran, dass die von Python verwendete dynamische OpenSSL-Bibliothek (.dylib) immer noch auf die alte Version verweist.
OpenSSL mit Homebrew aktualisieren:
brew update brew install openssl
Link die neue OpenSSL-Version:
brew link openssl --force
Installieren Sie Python mit gebrautem OpenSSL:
brew install python --with-brewed-openssl
Erstellen Sie einen symbolischen Link zur neuen Python-Version :
sudo ln -s /usr/local/Cellar/python/2.7.8_2/bin/python /usr/local/bin/python
Jetzt verwendet Python die aktualisierte OpenSSL-Version.
Eine endgültige Lösung für Ubuntu 12.04 steht noch aus , aber hier sind einige mögliche Schritte, die Sie ausprobieren können:
Installieren Sie die neueste OpenSSL-Version:
sudo apt-get update sudo apt-get install openssl
Aktualisieren Sie die gemeinsam genutzte Bibliothek:
sudo ldconfig
Python neu installieren:
sudo apt-get remove python sudo apt-get install python
Überprüfen Sie die OpenSSL-Version:
python -c "import ssl; print ssl.OPENSSL_VERSION"
Hoffentlich helfen Ihnen diese Anweisungen dabei, OpenSSL in Python 2.7 zu aktualisieren und etwaige Versionskonflikte zu beheben.
Das obige ist der detaillierte Inhalt vonSo aktualisieren Sie OpenSSL in Python 2.7: Warum verwendet Python immer noch die alte Version und wie kann das Problem behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!