Ich bin sehr neu in Python und versuche es > pip install linkchecker
unter Windows 7. Einige Hinweise:
- Die Pip-Installation schlägt unabhängig vom Paket fehl. Dies führt beispielsweise
> pip install scrapy
auch zu einem SSL-Fehler. - Die Vanilla-Installation von Python 3.4.1 enthielt Pip 1.5.6. Als erstes habe ich versucht, Linkchecker zu installieren. Python 2.7 wurde bereits installiert und mit ArcGIS geliefert.
python
undpip
waren nicht über die Befehlszeile verfügbar, bis ich 3.4.1 installiert habe. > pip search linkchecker
funktioniert. Möglicherweise liegt dies daran, dass die Pip-Suche das SSL-Zertifikat der Site nicht überprüft.- Ich bin in einem Unternehmensnetzwerk, aber wir gehen nicht über einen Proxy, um ins Internet zu gelangen.
- Jeder Unternehmenscomputer (einschließlich meines) verfügt über eine vertrauenswürdige Stammzertifizierungsstelle, die aus verschiedenen Gründen verwendet wird, einschließlich der Aktivierung der Überwachung des TLS-Verkehrs zu https://google.com . Ich bin mir nicht sicher, ob das etwas damit zu tun hat.
Hier ist der Inhalt meiner pip.log nach dem Ausführen pip install linkchecker
:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 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", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
Antworten:
-----> pip install gensim config --global http.sslVerify false
Installieren Sie einfach ein beliebiges Paket mit der Anweisung "config --global http.sslVerify false"
Sie können SSL-Fehler ignorieren, indem Sie
pypi.org
undfiles.pythonhosted.org
als vertrauenswürdige Hosts festlegen.Hinweis : Irgendwann im April 2018 wurde der Python-Paketindex von
pypi.python.org
nach migriertpypi.org
. Dies bedeutet, dass "Trusted-Host" -Befehle, die die alte Domäne verwenden, nicht mehr funktionieren.Permanente Korrektur
Seit der Veröffentlichung von Pip 10.0 sollten Sie dies dauerhaft beheben können, indem Sie sich
pip
selbst aktualisieren :Oder indem Sie es einfach neu installieren , um die neueste Version zu erhalten:
(… Und dann
get-pip.py
mit dem entsprechenden Python-Interpreter ausführen).pip install <otherpackage>
sollte nur danach funktionieren. Wenn nicht, müssen Sie mehr tun, wie unten erläutert.Möglicherweise möchten Sie die vertrauenswürdigen Hosts und den Proxy zu Ihrer Konfigurationsdatei hinzufügen .
pip.ini
(Windows) oderpip.conf
(Unix)Alternative Lösungen (weniger sicher)
Die meisten Antworten könnten ein Sicherheitsproblem darstellen.
Zwei der Problemumgehungen, die bei der einfachen Installation der meisten Python-Pakete hilfreich sind, sind:
easy_install <package_name>
. Beachten Sie, dass einige Pakete nicht gefunden werden oder kleine Fehler verursachen.pip install wheel_package_name.whl
installieren Sie das Paket mit dem Befehl pip .quelle
pip install --trusted-host pypi.python.org pypi_package
. Die Verwendung--verbose
zeigt, dass ohne--trusted-host
die HTTPS-Verbindung fehlschlägt, während dieselbe HTTPS-Verbindung versucht wird (nicht HTTP),--trusted-host
aber erfolgreich ist.pip install --trusted-host pypi.python.org pythonPackage
Sie können ein Zertifikat mit diesem Parameter angeben:
Siehe: Dokumente »Referenzhandbuch» pip
Wenn die Angabe des Stammzertifikats Ihres Unternehmens nicht funktioniert, funktioniert möglicherweise die cURL: http://curl.haxx.se/ca/cacert.pem
Sie müssen eine PEM-Datei und keine CRT-Datei verwenden. Wenn Sie eine CRT-Datei haben, müssen Sie die Datei in PEM konvertieren. Es gibt Berichte in den Kommentaren, dass dies jetzt mit einer CRT-Datei funktioniert, aber ich habe nicht überprüft.
Überprüfen Sie auch: SSL Cert Verification .
quelle
pip.conf
Datei verwenden, um sie dauerhaft zu referenzieren, ohne den Befehl anzugebenKenorbs Antwort ist sehr nützlich (und großartig!).
Unter seinen Lösungen ist dies vielleicht die einfachste:
--trusted-host
In diesem Fall können Sie dies beispielsweise tun
Die PEM-Datei (oder etwas anderes) ist nicht erforderlich.
quelle
pip list --trusted-host pypi.python.org --outdated
Für mich wurde das Problem durch Erstellen eines Ordners
pip
mit einer Datei behoben :pip.ini
inC:\Users\<username>\AppData\Roaming\
zB:Darin schrieb ich:
Ich habe Python neu gestartet und Pip dann diesen Websites dauerhaft vertraut und sie zum Herunterladen von Paketen verwendet.
Wenn Sie den AppData-Ordner unter Windows nicht finden können, schreiben Sie
%appdata%
in den Datei-Explorer und er sollte angezeigt werden.quelle
Die Antworten sind ziemlich ähnlich und etwas verwirrend. In meinem Fall waren die Zertifikate im Netzwerk meines Unternehmens das Problem. Ich konnte das Problem umgehen mit:
Wie hier zu sehen . Das Argument -vvv kann weggelassen werden, wenn keine ausführliche Ausgabe erforderlich ist
quelle
Permanente Korrektur
Zum Beispiel:
quelle
Um dieses Problem ein für alle Mal zu lösen, können Sie überprüfen, ob Sie über eine
pip.conf
Datei verfügen .Hier
pip.conf
sollten Sie laut Dokumentation sein :Innerhalb einer virtuellen Umgebung:
Du
pip.conf
solltest aussehen wie:pip install linkchecker
linkchecker
ohne Beschwerden installiert , nachdem ich diepip.conf
Datei erstellt habe.quelle
pip
Benutzerhandbuch aktualisiert wurde, seit ich diese Antwort gepostet habe. Ich habe meine Antwort für macOS aktualisiert. Hilft es?brew
stellen Sie sicher, dass Sie as verwenden ,pip3
und erstellen Sie daspip.conf
as$HOME/.config/pip/pip.conf
. Ich habe für mich gearbeitet.Der einfachste Weg, den ich gefunden habe, ist das Herunterladen und Verwenden der "DigiCert High Assurance EV-Stammzertifizierungsstelle" von DigiCert unter https://www.digicert.com/digicert-root-certificates.htm#roots
Sie können https://pypi.python.org/ besuchen , um den Zertifikatsaussteller zu überprüfen, indem Sie auf das Schlosssymbol in der Adressleiste klicken, oder Ihr Geek-Guthaben mithilfe von openssl erhöhen:
Der letzte CN-Wert in der Zertifikatkette ist der Name der Zertifizierungsstelle, die Sie herunterladen müssen.
Führen Sie für eine einmalige Aktion Folgendes aus:
(In der letzten Zeile wird davon ausgegangen, dass Sie die Bash-Shell verwenden), bevor pip ausgeführt wird.
Um dies wiederverwendbar zu machen, platzieren Sie DigiCertHighAssuranceEVRootCA.crt an einem gemeinsamen Ort und exportieren Sie PIP_CERT entsprechend in Ihre ~ / .bashrc.
quelle
Sie haben die folgenden Möglichkeiten, um ein Problem zu lösen
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
. B. ).Verwenden Sie
--cert <trusted.pem>
oderCA_BUNDLE
Variable, um ein alternatives CA-Bundle anzugeben.Sie können beispielsweise vom Webbrowser aus zur fehlerhaften URL wechseln und das Stammzertifikat in Ihr System importieren.
Führen Sie aus
python -c "import ssl; print(ssl.get_default_verify_paths())"
, um die aktuelle zu überprüfen (überprüfen Sie, ob vorhanden).SSL_CERT_DIR
,SSL_CERT_FILE
), mit denen verschiedene Zertifikatdatenbanken PEP-476 angegeben werden können .--trusted-host <hostname>
diese Option , um den Host als vertrauenswürdig zu markieren.verify=False
fürrequests.get
(siehe: SSL Cert Verification ).--proxy <proxy>
diese Option , um Zertifikatprüfungen zu vermeiden.Weitere Informationen finden Sie unter: TLS / SSL-Wrapper für Socket-Objekte - Überprüfen von Zertifikaten .
quelle
Stellen Sie Uhrzeit und Datum richtig ein!
Für mich stellte sich heraus, dass mein Datum und meine Uhrzeit auf Raspberry Pi falsch konfiguriert waren. Das Ergebnis war, dass alle SSL- und HTTPS-Verbindungen unter Verwendung des Servers https://files.pythonhosted.org/ fehlgeschlagen sind .
Aktualisiere es so:
Oder direkt mit zB Googles Zeit:
Ref.: Https://superuser.com/a/635024/935136
quelle
Ich bin kürzlich auf dieses Problem gestoßen, weil der Webinhaltsfilter meines Unternehmens eine eigene Zertifizierungsstelle verwendet, um den SSL-Verkehr zu filtern. PIP scheint in meinem Fall nicht die CA-Zertifikate des Systems zu verwenden, was zu dem von Ihnen erwähnten Fehler führt. Das Herabstufen von PIP auf Version 1.2.1 brachte später einige Probleme mit sich, sodass ich zur ursprünglichen Version zurückkehrte, die mit Python 3.4 geliefert wurde.
Meine Problemumgehung ist ganz einfach: Verwenden
easy_install
. Entweder werden die Zertifikate nicht überprüft (wie bei der alten PIP-Version), oder es werden die Systemzertifikate verwendet, da dies bei mir jedes Mal funktioniert und ich PIP weiterhin zum Deinstallieren von mit easy_install installierten Paketen verwenden kann.Wenn dies nicht funktioniert und Sie Zugriff auf ein Netzwerk oder einen Computer erhalten, auf dem das Problem nicht auftritt, können Sie jederzeit Ihren eigenen persönlichen PyPI-Server einrichten: Wie erstelle ich einen lokalen eigenen Pypi-Repository-Index ohne Spiegel?
Ich hätte das fast getan, bis ich es
easy_install
als letzten Versuch versuchte .quelle
pip
, es mit zu verwenden--cert MyCompanyRootCA.crt
.Sie können versuchen, den SSL-Fehler zu umgehen, indem Sie http anstelle von https verwenden. Natürlich ist dies in Bezug auf die Sicherheit nicht optimal , aber wenn Sie es eilig haben, sollte es den Trick tun:
quelle
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Die zu verwendenden Antworten
Arbeit. Sie müssen jedoch überprüfen, ob Weiterleitungen oder Caches vorhanden
pip
sind. Unter Windows 7pip 9.0.1
musste ich laufenSie finden diese mit der ausführlichen Flagge.
quelle
Ich habe pip 1.2.1 mit easy_install installiert und auf die neueste Version von pip (6.0.7 zu der Zeit) aktualisiert, die in meinem Fall Pakete installieren kann.
quelle
Sie haben 4 Möglichkeiten:
Verwenden eines Zertifikats als Parameter
Verwenden eines Zertifikats in a
pip.conf
Erstellen Sie diese Datei:
und fügen Sie diese Zeilen hinzu:
Zertifikat ignorieren und HTTP verwenden
Zertifikat ignorieren und HTTP in einer pip.conf verwenden
Erstellen Sie diese Datei:
und fügen Sie diese Zeilen hinzu:
Quelle
quelle
Als erstes,
hat bei mir nicht funktioniert. Ich habe immer wieder den Fehler CERTIFICATE_VERIFY_FAILED erhalten. In den Fehlermeldungen habe ich jedoch festgestellt, dass sie auf die Website 'pypi.org' verweisen. Also habe ich dies als vertrauenswürdigen Hostnamen anstelle von pypi.python.org verwendet. Das hätte mich fast dorthin gebracht; Das Laden mit CERTIFICATE_VERIFY_FAILED schlug immer noch fehl, jedoch zu einem späteren Zeitpunkt. Als ich den Verweis auf die fehlerhafte Website fand, fügte ich ihn als vertrauenswürdigen Host hinzu. Was schließlich für mich funktionierte, war:
quelle
Ich bin nicht sicher, ob dies damit zusammenhängt, aber ich hatte ein ähnliches Problem, das durch Kopieren dieser Dateien von Anaconda3 / Library / bin nach Anaconda3 / DLLs behoben wurde:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
quelle
Hatte das gleiche Problem beim Versuch
pip install ftputil
mit ActivePython 2.7.8, ActivePython 3.4.1 und "stock" Python 3.4.2 unter 64-Bit Windows 7 Enterprise. Alle Versuche schlugen mit den gleichen Fehlern wie OP fehl.Das Problem für Python 3.4.2 wurde durch ein Downgrade auf pip 1.2.1 umgangen:
easy_install pip==1.2.1
(siehe https://stackoverflow.com/a/16370731/234235 ). Das gleiche Update funktionierte auch für ActivePython 2.7.8.Der im März 2013 gemeldete Fehler ist noch offen: https://github.com/pypa/pip/issues/829 .
quelle
Nichts auf dieser Seite hat für mich funktioniert, bis ich die Option --verbose verwendet habe, um zu sehen, dass es zu files.pythonhosted.org und nicht zu pypi.python.org gelangen wollte:
Überprüfen Sie daher die URL, auf der tatsächlich ein Fehler auftritt, über die Option --verbose.
quelle
Ich habe dieses Problem gelöst, indem ich meinen Pip entfernt und die ältere Version von pip installiert habe: https://pypi.python.org/pypi/pip/1.2.1
quelle
include the essential parts of the answer here
da es ein Link zu einer Binärdatei ist ...?Sie können dies versuchen, um "https" zu ignorieren:
quelle
pip install --trusted-host pypi.python.org --upgrade pip –
Eine Lösung ( für Windows ) besteht darin, eine Datei zu erstellen, die
pip.ini
für den%AppData%\pip\
Ordner aufgerufen wird (erstellen Sie den Ordner, falls er nicht vorhanden ist) und die folgenden Details einzufügen:... und dann können wir die Installationsanweisung ausführen:
Eine andere Möglichkeit besteht darin, das Paket mit Argumenten für den Proxy und das Zertifikat zu installieren ...
Führen Sie die folgenden Anweisungen aus, um die Zertifikatdateien
*.cer
in das erforderliche*.pem
Format zu konvertieren :Hoffe das hilft jemandem!
quelle
pip3.6 config set global.cert '/<path>/server.crt'
In meinem Fall lag es daran, dass das SSL-Zertifikat von der internen Zertifizierungsstelle meines Unternehmens signiert wurde. Die Verwendung von Problemumgehungen wie
pip --cert
hat nicht geholfen, aber das folgende Paket hat geholfen:Siehe: https://pypi.org/project/pip-system-certs/
quelle
pip_system_certs
meine Python-Umgebung vollständig zerstört, und aus diesem Grund ist dies keine gute Antwort. Installieren Sie pip_system_certs nicht. Weitere Informationen finden Sie unter stackoverflow.com/questions/27835619/… .Für mich liegt dies daran, dass ich zuvor ein Skript ausgeführt habe, das den Proxy (auf Fiddler) setzt, die Konsole erneut öffnet oder neu startet, um das Problem zu beheben.
quelle
Vor kurzem hatte ich das gleiche Problem in Python 3.6 mit Visual Studio 2015. Nachdem ich 2 Tage verbracht hatte, bekam ich die Lösung und sie funktioniert gut für mich.
Beim Versuch, numpy mit pip oder aus Visual Studio zu installieren, wurde der folgende Fehler angezeigt: Sammeln von numpy URL https://pypi.python.org/simple/numpy/ konnte nicht abgerufen werden: Beim Bestätigen des SSL-Zertifikats ist ein Problem aufgetreten: [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatüberprüfung fehlgeschlagen (_ssl.c: 748) - Überspringen Es konnte keine Version gefunden werden, die die Anforderung numpy erfüllt (aus Versionen :) Es wurde keine übereinstimmende Verteilung für numpy gefunden
Auflösung :
Für Windows
[global]
trusted-host = pypi.python.org. Speichern und schließen Sie die Datei. Jetzt mit pip / visual studio installieren funktioniert es einwandfrei.
quelle
In meinem Fall habe ich Python im minimalen alpinen Docker-Image ausgeführt. Es fehlten Stammzertifizierungsstellenzertifikate. Fix:
apk update && apk add ca-certificates
quelle
Vaulstein Antwort hat mir geholfen.
Ich habe die Datei pip.ini nirgendwo auf meinem PC gefunden. Das Folgende auch.
Oder geben Sie einfach% AppData% in den Windows Explorer ein.
Erstellen Sie einen Ordner namens pip in diesem AppData-Ordner.
Erstellen Sie in dem gerade erstellten Pip-Ordner eine einfache Textdatei mit dem Namen pip.ini
Übergeben Sie die folgenden Konfigurationseinstellungen in dieser Datei mit einem einfachen Editor Ihrer Wahl.
pip.ini Datei:
Sie sollten jetzt gut zu gehen sein.
quelle
Ich hatte ein ähnliches Problem. Die Lösung, die für mich funktioniert hat 1) Python 2.7 deinstallieren 2) Python27-Ordner löschen 3) Neueste Python neu installieren
quelle
Für mich hat keine der vorgeschlagenen Methoden funktioniert - mit cert, HTTP, Trusted-Host.
In meinem Fall funktionierte das Wechseln zu einer anderen Version des Pakets (in diesem Fall paho-mqtt 1.3.1 anstelle von paho-mqtt 1.3.0).
Es sieht so aus, als ob das Problem für diese Paketversion spezifisch war.
quelle
Möglicherweise tritt dieses Problem auf, wenn einige Zertifikate in Ihrem system.eg bei opensuse fehlen. Installieren Sie ca-certificates-mozilla
quelle