Layer 8Ehrlicher Tech-Support
SoftwareSchweregrad: LästigCERTIFICATE_VERIFY_FAILED

pip: SSL: CERTIFICATE_VERIFY_FAILED

pip lädt keine Pakete wegen SSL-Zertifikatsfehler? Meist schneidet ein Firmen-Proxy mit oder die Zertifikate sind veraltet — beides ist lösbar.

Aufwand:
ca. 25 Min.

Das Symptom

Beim Installieren eines Python-Pakets mit pip bricht der Vorgang ab und meldet SSL: CERTIFICATE_VERIFY_FAILED oder dass das Zertifikat nicht überprüft werden konnte. Kein Paket lässt sich herunterladen, obwohl die Internetverbindung ansonsten funktioniert — der Browser öffnet Seiten ganz normal.

Die „Layer 8“-Wahrheit

pip ist beim Herunterladen bewusst misstrauisch: Es prüft, ob die Gegenstelle sich mit einem gültigen, von einer anerkannten Stelle beglaubigten Zertifikat ausweist. Scheitert diese Prüfung, verweigert pip den Download, statt womöglich manipulierte Pakete zu laden. Der Fehler bedeutet also nicht, dass das Internet kaputt ist, sondern dass pip dem verschlüsselten Weg nicht traut — und dafür gibt es zwei typische Gründe. Im Firmennetz klinkt sich oft ein Proxy oder Virenscanner in die Verbindung ein und tauscht das Zertifikat gegen ein eigenes, das pip nicht kennt. Außerhalb davon ist meist die Zertifikatsablage auf dem System veraltet.

Die richtige Lösung folgt aus der Ursache: Ist die Ablage veraltet, hilft ein Update von System, Python und pip — und auf manchen Systemen das einmalige Einrichten der Zertifikate. Steckt ein Proxy dahinter, gehört dessen Zertifikat sauber als vertrauenswürdig hinterlegt, wofür die IT die passende Datei liefert. Was man dagegen nicht tun sollte, ist der verlockende Abkürzungsbefehl, der die Prüfung ganz abschaltet — das mag den Fehler zum Schweigen bringen, öffnet aber genau die Tür, die pip zu Recht bewacht.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Die Ursache eingrenzen

    pip lädt Pakete über eine verschlüsselte Verbindung und prüft dabei das Zertifikat der Gegenstelle. Schlägt diese Prüfung fehl, gibt es meist zwei Gründe: Ein Firmen-Proxy oder Virenscanner klinkt sich mit einem eigenen Zertifikat ein, das pip nicht kennt — oder die Zertifikatsablage auf dem System ist veraltet.

  2. 2.

    System und Zertifikate aktualisieren

    Zuerst das Naheliegende: Betriebssystem, Python und pip aktualisieren, damit die Wurzelzertifikate aktuell sind. Auf manchen Systemen — etwa nach einer Neuinstallation von Python auf dem Mac — muss die Zertifikatsablage einmalig eingerichtet werden, wofür Python ein eigenes Skript mitbringt.

  3. 3.

    Das Proxy-Zertifikat einbinden

    Klinkt sich im Firmennetz ein Proxy ein, muss dessen Zertifikat als vertrauenswürdig hinterlegt werden. Die IT stellt die passende Zertifikatsdatei bereit; sie lässt sich pip über die Einstellung für vertrauenswürdige Zertifikate mitgeben, sodass die Prüfung wieder gelingt — ohne die Sicherheit auszuhebeln.

  4. 4.

    Uhrzeit und Proxy-Einstellungen prüfen

    Eine falsch gehende Systemuhr lässt gültige Zertifikate als ungültig erscheinen — Datum und Zeit korrigieren. Ebenso prüfen, ob die Proxy-Umgebungsvariablen korrekt gesetzt sind, damit pip überhaupt den richtigen Weg nach draußen nimmt.

  5. 5.

    Die Prüfung nicht dauerhaft abschalten

    pip lässt sich zwar anweisen, die Zertifikatsprüfung zu übergehen — das ist aber eine Sicherheitslücke und höchstens für einen einmaligen Notfall vertretbar. Statt die Prüfung abzuschalten, gehört das richtige Zertifikat eingebunden, damit die Verbindung geschützt bleibt.

Häufige Fragen (FAQ)

?pip kann Pakete nicht laden wegen eines Zertifikatsfehlers. Was ist kaputt?

In aller Regel nichts an pip. Entweder sind die Stammzertifikate des Systems veraltet, die Uhr geht falsch, oder – am häufigsten im Firmennetz – ein Proxy bricht die verschlüsselte Verbindung auf und signiert sie neu. Python kennt dessen Zertifikat nicht und verweigert korrekt den Dienst.

?Kann ich die Prüfung nicht einfach mit --trusted-host abschalten?

Für einen einmaligen Notfall mag das gehen, als Dauerlösung ist es fahrlässig. Sie laden damit ausführbaren Code aus dem Netz und verzichten auf jede Prüfung, wer ihn geschickt hat. Der richtige Weg ist, das Zertifikat des Proxys in den Zertifikatsspeicher aufzunehmen – dann funktioniert alles, ohne dass Sie sich blind machen.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

SWAnfängerfehlerexternally-managed-environment

pip: error: externally-managed-environment

pip install bricht mit 'externally-managed-environment' ab? So installierst du Python-Pakete korrekt per venv oder pipx statt am System.

SWAnfängerfehlerModuleNotFoundError

Python: ModuleNotFoundError: No module named X

Python meldet ModuleNotFoundError, obwohl das Paket installiert ist? Meist stimmt die Umgebung, der Import-Name oder der Dateiname nicht. So löst du es.