web-dev-qa-db-de.com

'pip install' schlägt für jedes Paket fehl ("Konnte keine Version finden, die die Anforderung erfüllt")

pip install <package name> schlägt bei jedem Paket für mich fehl. Das bekomme ich:

Could not find a version that satisfies the requirement <package-name
(from versions: )
No matching distribution found for <package-name>

I sawsimilarquestions on Stack Overflow, aber sie scheinen nicht vollständig mit diesem verwandt zu sein.

Auch dieser Beitrag deutet darauf hin, dass dies passieren könnte, wenn PyPI nicht funktioniert oder meine IP-Adresse auf der schwarzen Liste steht. Es scheint, dass beides für meinen Fall nicht zutrifft.

pip zeigt aktuell an, wie pip install --upgrade pip ausgeführt wird.

60
Anupam

Aktualisieren Sie pip wie folgt:

curl https://bootstrap.pypa.io/get-pip.py | python

Was ist los:

Python.org-Sites beenden die Unterstützung für TLS-Versionen 1.0 und 1.1. Dies bedeutet, dass Mac OS X Version 10.12 (Sierra) oder älter pip nur dann verwenden kann, wenn pip wie oben beschrieben aktualisiert wird.

(Beachten Sie, dass das Aktualisieren von pip über pip install --upgrade pip ebenfalls nicht korrekt funktioniert. Es handelt sich um ein Henne-Ei-Problem.)

This thread erklärt es (dank this Twitter post ):

Mac-Benutzer, die pip und PyPI verwenden:

Wenn Sie mit macOS/OS X Version 10.12 oder älter arbeiten, sollten Sie ein Upgrade auf den neuesten pip (9.0.3) durchführen, um eine sichere Verbindung zum Paketindex Python herzustellen:

curl https://bootstrap.pypa.io/get-pip.py | python

und wir empfehlen Ihnen, dies bis zum 8. April zu tun.

Pip 9.0.3 unterstützt TLSv1.2, wenn es unter System Python unter macOS <10.13 ausgeführt wird. Offizielle Versionshinweise: https://pip.pypa.io/en/stable/news/

Auch die Python-Statusseite :

Abgeschlossen - Die rollierenden Brownouts sind beendet und TLSv1.0 und TLSv1.1 wurden deaktiviert. 11. April, 15:37 UTC

Update - Die rollierenden Brownouts wurden auf einen Blackout aktualisiert. TLSv1.0 und TLSv1.1 werden jederzeit mit HTTP 403 abgelehnt. 8. April, 15:49 UTC

Um weitere Installationsfehler zu vermeiden, stellen Sie sicher, dass Sie auch setuptools aktualisieren, nachdem Sie die oben genannten Schritte ausgeführt haben:

pip install --upgrade setuptools
116
Anupam

Die Unterstützung für TLS 1.0 und 1.1 wurde für PyPI eingestellt. Wenn Ihr System keine aktuellere Version verwendet, kann dies Ihren Fehler erklären.

Könnten Sie versuchen, pip systemweit neu zu installieren, um Ihre Systemabhängigkeiten auf eine neuere Version von TLS zu aktualisieren?

Dies scheint mit Python-Bibliotheken können nicht installiert werden zu tun zu haben

Siehe Dominique Bartons Antwort:

Anscheinend versucht pip, über HTTPS (das verschlüsselt und in Ordnung ist) auf PyPI zuzugreifen, allerdings mit einer alten (unsicheren) SSL-Version. Ihr System scheint veraltet zu sein. Es kann hilfreich sein, wenn Sie Ihre Pakete aktualisieren.

Auf Debian-basierten Systemen würde ich versuchen:

apt-get update && apt-get upgrade python-pip

Auf Red Hat Linux-basierten Systemen:

yum update python-pip # (or python2-pip, at least on Red Hat Linux 7)

Auf dem Mac:

Sudo easy_install -U pip

Sie können auch versuchen, openssl separat zu aktualisieren.

4
Guybrush