750 Stimmen

`pip install` schlägt fehl mit "Verbindungsfehler: [SSL: ZERTIFIKAT_VERIFY_FAILED] Zertifikat-Überprüfung fehlgeschlagen (_ssl.c:598)"

Ich bin ganz neu in Python und versuche, > pip install linkchecker auf Windows 7 zu installieren. Einige Hinweise:

  • pip install schlägt unabhängig vom Paket fehl. Zum Beispiel führt auch > pip install scrapy zu dem SSL-Fehler.
  • Die Standardinstallation von Python 3.4.1 enthielt pip 1.5.6. Das Erste, was ich versuchte zu tun, war linkchecker zu installieren. Python 2.7 war bereits installiert, es kam mit ArcGIS. python und pip waren nicht verfügbar von der Befehlszeile, bis ich 3.4.1 installierte.
  • > pip search linkchecker funktioniert. Vielleicht liegt das daran, dass pip search das SSL-Zertifikat der Site nicht überprüft.
  • Ich befinde mich in einem Firmennetzwerk, gehen aber nicht über einen Proxy ins Internet.
  • Jeder Firmencomputer (einschließlich meines) verfügt über eine vertrauenswürdige Stammzertifizierungsstelle, die aus verschiedenen Gründen verwendet wird, einschließlich der Überwachung von TLS-Verkehr zu https://google.com. Bin mir nicht sicher, ob das etwas damit zu tun hat.

Hier sind die Inhalte meiner pip.log nach Ausführung von pip install linkchecker:

Downloading/unpacking linkchecker
  Getting page https://pypi.python.org/simple/linkchecker/
  Konnte URL https://pypi.python.org/simple/linkchecker/ nicht abrufen: Verbindungsfehler: [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatüberprüfung fehlgeschlagen (_ssl.c:598)
  Wird URL https://pypi.python.org/simple/linkchecker/ überspringen, wenn nach Download-Links für linkchecker gesucht wird
  Getting page https://pypi.python.org/simple/
  Konnte URL https://pypi.python.org/simple/ nicht abrufen: Verbindungsfehler: HTTPSConnectionPool(host='pypi.python.org', port=443): Maximalanzahl der Wiederholungen mit URL: /simple/ überschritten (Verursacht durch : Request-sent)
  Wird URL https://pypi.python.org/simple/ überspringen, wenn nach Download-Links für linkchecker gesucht wird
  Kann Index-Basis-URL https://pypi.python.org/simple/ nicht abrufen
  URLs zum Suchen nach Versionen für linkchecker:
  * https://pypi.python.org/simple/linkchecker/
  Getting page https://pypi.python.org/simple/linkchecker/
  Konnte URL https://pypi.python.org/simple/linkchecker/ nicht abrufen: Verbindungsfehler: [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatüberprüfung fehlgeschlagen (_ssl.c:598)
  Wird URL https://pypi.python.org/simple/linkchecker/ überspringen, wenn nach Download-Links für linkchecker gesucht wird
  Konnte keine Downloads finden, die die Anforderung für linkchecker erfüllen
Aufräumen...
  Entferne temporäres Verzeichnis C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
Keine Verteilungen für linkchecker gefunden
Ausnahmefehlerinformationen:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", Zeile 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", Zeile 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\Python34\lib\site-packages\pip\req.py", Zeile 1177, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\Python34\lib\site-packages\pip\index.py", Zeile 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: Keine Verteilungen für linkchecker gefunden

Für diese Fehlermeldung <strong>in Ihrem eigenen Code</strong> (Verwendung von <code>urllib</code>, <code>urllib2</code>, <code>requests</code> usw. zum Versuch einer Verbindung unter Verwendung von SSL), siehe <a href="https://stackoverflow.com/q/27835619">urllib und "SSL: CERTIFICATE_VERIFY_FAILED" Fehler</a>.

9voto

Pat B. Punkte 419

Zunächst einmal,

    pip install --trusted-host pypi.python.org 

hat bei mir nicht funktioniert. Ich habe immer den CERTIFICATE_VERIFY_FAILED Fehler erhalten. Allerdings habe ich in den Fehlermeldungen festgestellt, dass sie die Website 'pypi.org' referenzierten. Also habe ich dies als den vertrauenswürdigen Hostnamen anstelle von pypi.python.org verwendet. Das hat mich fast zum Ziel gebracht; der Ladevorgang scheiterte immer noch mit CERTIFICATE_VERIFY_FAILED, aber an einem späteren Punkt. Nachdem ich die Referenz auf die fehlerhafte Website gefunden hatte, habe ich sie als vertrauenswürdigen Host hinzugefügt. Letztendlich hat bei mir Folgendes funktioniert:

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org

7voto

Shabir Punkte 107

Ich habe versucht, den Unternehmensproxy zu verwenden, aber es ist fehlgeschlagen.

Ich verwende Python 3.6.

Die Datei pip.conf fehlte.

Hier sind die Schritte zur Lösung des Problems:

  1. Zertifikatspaket installieren: -pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install certifi

  2. Erstellen Sie eine pip.conf-Datei, wie folgt:

     $ cd ~/.config 
     $ mkdir pip
     $ cd pip
     $ nano pip.conf

Fügen Sie das Folgende zur neu erstellten .conf-Datei hinzu und speichern Sie sie.

[global]
trusted-host = pypi.python.org files.pythonhosted.org pypi.org pypi.io

Alles erledigt und es hat funktioniert.

7voto

0x416e746f6e Punkte 10021

In meinem Fall lag es daran, dass das SSL-Zertifikat von der internen Zertifizierungsstelle meines Unternehmens signiert wurde. Workarounds wie pip --cert haben nicht geholfen, aber das folgende Paket hat geholfen:

pip install pip_system_certs

Siehe: https://pypi.org/project/pip-system-certs/

Dieses Paket patcht pip und Anfragen zur Laufzeit, um Zertifikate aus dem Standard-Systemstore zu verwenden (anstatt der gebündelten Zertifikate ca).

Dadurch kann pip tls/ssl-Verbindungen zu Servern verifizieren, deren Zertifikat von Ihrer Systeminstallation vertraut wird.

6voto

Dan Austin Punkte 79

Nichts auf dieser Seite hat für mich funktioniert, bis ich die --verbose-Option verwendet habe, um zu sehen, dass es zu files.pythonhosted.org anstatt zu pypi.python.org gelangen wollte:

pip install --trusted-host files.pythonhosted.org 

Überprüfen Sie also die URL, an der es tatsächlich scheitert, über die --verbose-Option.

6voto

psteiner Punkte 187

Ich hatte dasselbe Problem beim Versuch, pip install ftputil mit ActivePython 2.7.8, ActivePython 3.4.1 und "stock" Python 3.4.2 auf 64-Bit Windows 7 Enterprise durchzuführen. Alle Versuche scheiterten mit den gleichen Fehlern wie bei OP.

Ich habe das Problem für Python 3.4.2 umgangen, indem ich auf pip 1.2.1 downgradet habe: easy_install pip==1.2.1 (siehe https://stackoverflow.com/a/16370731/234235). Derselbe Fix funktionierte auch für ActivePython 2.7.8.

Der Fehler, der im März 2013 gemeldet wurde, ist immer noch offen: https://github.com/pypa/pip/issues/829.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X