Verwenden von Anforderungen in Python3 Windows über Pycharm und Empfangen des Fehlers "SSL-Modul nicht verfügbar"
Ich habe Stunden damit verbracht herauszufinden, was dies verursachen könnte. Ich habe Anaconda neu installiert und stecke völlig fest. Beim Ausführen der folgenden
def Earlybird(daycount):
url = 'https://msft.com'
response = requests.get(url)
print(response)
Earlybird()
Ich erhalte den Fehler
requests.exceptions.SSLError: HTTPSConnectionPool(host='msft.com',
port=443): Max retries exceeded with url: / (Caused by SSLError("Can't
connect to HTTPS URL because the SSL module is not available."))
Ich habe keine Ahnung, was dies verursachen könnte. Da Anaconda kürzlich installiert wurde, würde ich davon ausgehen, dass alles auf dem neuesten Stand ist. Ich bin mir also nicht sicher, ob dies auf das falsche SSL hinweist. Ich bin ein bisschen neu in Python, also danke für deine Geduld. - -
Antworten:
Ich weiß nicht, ob dies noch behoben wurde, aber ich hatte ähnliche Probleme mit Anaconda Python 3.7.3 und Idle unter Windows 10. Es wurde behoben, indem Folgendes hinzugefügt wurde:
auf die PATH-Variable.
quelle
python get-pip.py
Ich bin unter Windows 10, ich hatte das Problem mit einer neuen Neuinstallation von Anaconda auf Python 3.7.4, dieser Beitrag auf Github hat mein Problem gelöst:
(Quelle: https://github.com/conda/conda/issues/8273 )
Ich zitiere:
"Meine Problemumgehung: Ich habe die folgenden Dateien kopiert
libcrypto-1_1-x64.* libssl-1_1-x64.*
von D: \ Anaconda3 \ Library \ bin zu D: \ Anaconda3 \ DLLs.
Und es wirkt wie ein Zauber! ""
quelle
Windows-Benutzer müssen die folgenden Pfade festlegen:
..\Anaconda3
..\Anaconda3\scripts
..\Anaconda3\Library\bin
Pro Benutzer:
Systemweit (Neustart erforderlich) :
quelle
Ich habe es gelöst, indem ich OpenSSL gemäß der folgenden Empfehlung installiert habe: https://github.com/conda/conda/issues/8046#issuecomment-450515815
Entsprechendes Ticket im Conda Repo: https://github.com/conda/conda/issues/8046
Update: Das Problem (in PyCharm) sollte in der Version 2019.1 behoben sein (Early Access Preview Build ist bereits verfügbar https://www.jetbrains.com/pycharm/nextversion/ ).
quelle
Ich habe die Binärdateien von hier aus installiert: https://slproweb.com/products/Win32OpenSSL.html Diese Site wird im offiziellen OpenSSL-Wiki erwähnt. Es hat mein Problem gelöst
quelle
Dieses Problem machte mich wahnsinnig, bis ich diesen Beitrag fand, der zu tun sagte
(nicht mit Pycharm, mit erhabenem)
Fehler beim Importieren von SSL in Python 3.7.4 unter macOS 10.14.6
quelle
Ich habe keine Anaconda, also habe ich folgende Schritte unternommen:
brew uninstall python3
brew install python3
Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store.
Ich habe eine Fehlermeldung erhalten, die besagt: ** Also habe ich Xcode gelöscht, da kein Update angezeigt werden würde, und dann neu installiert.xcode-select --install
hinterher. Wenn Sie dies nicht tun, wird eine Fehlermeldung angezeigt:The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
brew install python3
und es erfolgreich abgeschlossen.Ich habe dieses Skript verwendet, um zu sehen, ob es funktioniert
import requests r = requests.get('https://www.office.com') print(r)
Lief das Skript python3 und python3.7 und die Ausgabe erfolgte
<Response [200]>
anstelle von SSLError.quelle
Ich habe es am 04/2020 konfrontiert. Dies sind die Optionen, die ich ausprobiert habe, und die letzte Lösung bringt mich durch.
Problem:
Das Anforderungsmodul funktioniert einwandfrei, wenn ich es in Spyder IDE verwende, aber wenn ich versuche, das Skript in Windows auszuführen, schlägt es mit einem SSL-Fehler fehl. Es funktioniert gut für HTTP-Anfragen, aber für HTTPS-Anfragen habe ich einen SSL-Fehler erhalten.
Lösung, die das Problem behoben hat:
Lösung von: https://github.com/conda/conda/issues/8273
Ich habe die folgenden Dateien von Anaconda3 \ Library \ bin nach \ Anaconda3 \ DLL kopiert
libcrypto-1_1-x64. * libssl-1_1-x64. *
quelle
Ich hatte ein ähnliches Problem unter Windows 10 mit Conda und Python 2.7.2
Nachdem ich viele, viele Lösungen ausprobiert hatte, stieß ich auf diese Antwort, die darauf hinwies, dass in diesem Build ein Problem mit openssl vorliegt.
Nachdem ich Python auf 3.7.1 (Build h33f27b4_4) heruntergestuft hatte, funktionierte alles einwandfrei.
quelle
Wenn Sie die Anaconda-Eingabeaufforderung verwenden, müssen Sie der Umgebung keine Pfade hinzufügen .
Starten Sie die Änderung der Anaconda-Eingabeaufforderung in Ihrem Verzeichnis und führen Sie Ihr Skript aus oder starten Sie von dort aus Ihren Editor. Dadurch wird sichergestellt, dass Sie sich in der vollständigen Anaconda-Umgebung befinden und der SSL-Fehler beendet wird.
Was ist der Unterschied zwischen der Eingabeaufforderung und der Anaconda-Eingabeaufforderung? Sehen Sie sich diese SO-Antwort auf den Unterschied zwischen der Eingabeaufforderung und der Anaconda-Eingabeaufforderung an .
quelle
Nachdem ich einige Stunden damit verbracht hatte, die Anaconda-Dokumentation, Github-Tickets usw. durchzugehen, gelang es mir schließlich, sie unter Windows 10 64-Bit (Anaconda 3.7) zum Laufen zu bringen. Für mich funktionierte es, die Win64 OpenSSL v1.1.1d-Binärdatei von https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe zu installieren .
HINWEIS : Die Version scheint wichtig zu sein! Ich habe den 1.1.0L ausprobiert (wie in anderen Kommentaren und Antworten vorgeschlagen), aber mit dieser Version blieb das Problem bestehen. Wenn Sie nach der Installation einiger OpenSSL-Bibliotheken weiterhin Probleme haben, versuchen Sie es weiter, bis Sie die richtige Version gefunden haben. Für Anaconda 3.7 unter Windows 10 scheint das 1.1.1d das richtige zu sein. Ich habe die Light-Version nicht ausprobiert.
Dinge, die bei mir nicht funktionierten :
ssl_verify
Option ändern aufFalse
libcrypto
und derlibssl
DLLs an einen anderen Speicherort (siehe https://github.com/conda/conda/issues/8273#issue-409800067 )quelle
Beim Ausführen einer Pip-Installation nach einer neuen Anaconda-Installation ist derselbe SSL-Fehler aufgetreten. Was half, war die Aktivierung der Basisumgebung vor der Pip-Installation.
activate base
Führen Sie ein from cmd aus und führen Sie dann Ihr Python-Skript aus. Sie können auch'conda run -n base python script.py'
Reference - https://github.com/conda/conda/issues/8487 ausprobierenquelle
Ich hatte das gleiche bei meiner Windows 10-Installation.
Anaconda3 nicht öffnen Anaconda Navigator , bevor ich kopiert
libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
ausAnaconda3\Library\bin to \Anaconda3\DLL
.Nachdem ich diese
pip
Installation in der Basisumgebung durchgeführt hatte, funktionierte sie einwandfrei, jedoch nicht in einer anderen von mir erstellten Umgebung. Ich musste das gleiche wie oben in der neuen Umgebung tun.Das heißt, Kopie
libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
von\<env folder>\Library\bin
bis\<env folder>\DLL
dahin hat gut funktioniert.quelle
Auf die Website gehen: Gibt mir folgende Informationen aus dem Entwicklertool und zeigt mir die Header an. (Rechtsklick -> Überprüfen. Öffnen Sie dann die Registerkarte Netzwerk und überprüfen Sie die Überschriften.)
Wir sehen also, dass wir eine Anfrage an HTTP und nicht an HTTPS ausführen müssen.
import requests def Earlybird(): url = 'http://msft.com/' response = requests.get(url) print(response.text) if __name__ == '__main__': Earlybird()
quelle
Hinweis: Dieses Problem wurde unter Windows 10 behoben. Ich hatte das gleiche Problem mit der virtuellen Umgebung unter Windows 10. Das Problem wurde behoben, indem CMD als Administrator ausgeführt und eine neue virtuelle Umgebung erstellt wurde.
quelle
In meinem Windows 10 wurde Folgendes gelöst:
mklink "C:\Users\hal\AppData\Local\Continuum\anaconda3\DLLs\libssl-1_1-x64.dll" "C:\Users\hal\AppData\Local\Continuum\anaconda3\Library\bin\libssl-1_1-x64.dll" mklink "C:\ProgramData\Anaconda3\DLLs\libcrypto-1_1-x64.dll" "C:\ProgramData\Anaconda3\Library\bin\libcrypto-1_1-x64.dll"
quelle
Ich verwende VSCode zum Bearbeiten und Debuggen und die einzige Lösung, die für mich funktioniert hat, war das Bearbeiten der Umgebungsvariablen in Windows. Anscheinend verursacht dies Probleme, aber ich bin nicht sicher, was sie sind.
Das Ausführen von der Anaconda-Eingabeaufforderung (wie von sayth vorgeschlagen) war für mich KEINE Option. Oder vielleicht war der Vorschlag, die Anaconda-Eingabeaufforderung auszuführen und die Anaconda-Eingabeaufforderung irgendwie VSCode zu starten. Klingt nicht nach einer vernünftigen Anfrage.
Dies scheint ein lang anhaltendes chronisches Problem zu sein, ohne eine endgültige globale Antwort, die für alle funktioniert.
quelle
Die Neuinstallation von Python basierend auf den Anweisungen von hier löste dieses Problem für mich: Wie kann ich eine frühere Version von Python 3 unter macOS mit Homebrew installieren?
quelle
Nachdem Sie sich unter Windows 10 mit demselben Problem befasst haben, ist die Lösung recht einfach:
conda init
Führen Sie Ihren Code erneut aus und es sollte funktionieren. Ich hatte sowohl Anaconda als auch PyCharm aktualisiert und hatte das Problem mit allen Kombinationen von Versionen, bis ich lief
conda init
, was Ihren PATH ähnlich wie die Antwort von Paul Stevens ergänzt . Überspringen Sie nicht # 3 - ein Neustart von PyCharm oder einem anderen Interpreter ist der Schlüssel.quelle
Dieser Fehler tritt in VSCode mit Python 3.7.3 auf, funktioniert jedoch im IDLE-Editor in Windows 10 mit Python 3.7.0 einwandfrei.
quelle
Ich verwende diese "Win64 OpenSSL v1.1.1h" -> EXE von https://slproweb.com/products/Win32OpenSSL.html
Ich habe es installiert und funktioniert
quelle