Requests.Exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3-Warnungs-Handshake-Fehler (_ssl.c:600)
Ich habe die openssl-Version des Terminals geändert,
kingw angdeMini:icampuslist_web kingwang$ öffnetssl-Version
OpenSSL 1.0.2d 9. Juli 2015
aber die Openssl-Version meines Pythons ist immer noch eine alte Version:
kingw angdeMini:icampuslist_web kingwang$ python -c "ssl importieren; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zg 14. Juli 2015
Ich weiß, dass der Fehler von [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] auf den Versionsfehler zurückzuführen ist.
Ich möchte wissen, wie ich die Openssl-Version meines Pythons ändern kann ~
Danke!
Die OpenSSL-Version Ihres Pythons ist das, gegen das es kompiliert wird. In diesem Fall müssen Sie für Mac OS X selbst ein neues Python kompilieren. Der einfachste Weg, dies zu tun, ist Homebrew : brew install python
wird Ihnen ein neues Python mit einem moderneren OpenSSL zur Verfügung stellen.
Sie können den Fehler auch selbst beheben, indem Sie pip install pyasn1 ndg-httpsclient pyopenssl
, wodurch Sie auch ein neueres OpenSSL erhalten, das nur Requests verwenden kann.
Dies ist meine erste Verwendung von Github, um das Problem zu lösen.
@Lukasa
Dankeschön! Und mein Fehler ist jetzt gelöst.
Ich benutze das pyenv, um das Python auszuführen. und ich deinstalliere das Python und installiere es dann erneut. Es funktioniert! So glücklich~~
Übrigens habe ich zuerst die zweite Methode ausprobiert, aber es funktioniert nicht. Dann versuchte ich es mit dem ersten. Ich kannte den Grund nicht. Vielleicht hatte ich diese Pakete schon installiert.
Schließlich vielen Dank!
Hilfreichster Kommentar
Die OpenSSL-Version Ihres Pythons ist das, gegen das es kompiliert wird. In diesem Fall müssen Sie für Mac OS X selbst ein neues Python kompilieren. Der einfachste Weg, dies zu tun, ist Homebrew :
brew install python
wird Ihnen ein neues Python mit einem moderneren OpenSSL zur Verfügung stellen.Sie können den Fehler auch selbst beheben, indem Sie
pip install pyasn1 ndg-httpsclient pyopenssl
, wodurch Sie auch ein neueres OpenSSL erhalten, das nur Requests verwenden kann.