web-dev-qa-db-fra.com

'pip install' échoue pour chaque package ("Impossible de trouver une version satisfaisant à l'exigence")

pip install <package name> échoue pour chaque package pour moi. Voici ce que je reçois:

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

I sawsimilairequestions sur Stack Overflow, mais ils ne semblent pas être entièrement liés à celui-ci.

En outre, cet article suggère que cela pourrait se produire si PyPI est en panne ou si mon adresse IP est sur liste noire. Il semble que les deux ne sont pas vrais pour mon cas.

pip est à jour lors de l'exécution de pip install --upgrade pip.

54
Anupam

Mettez à niveau pip comme suit:

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

Que ce passe-t-il:

Les sites Python.org arrêtent la prise en charge des versions TLS 1.0 et 1.1. Cela signifie que Mac OS X version 10.12 (Sierra) ou version antérieure ne pourra pas utiliser pip, à moins de le mettre à niveau, comme indiqué ci-dessus.

(Notez que la mise à niveau de pip via pip install --upgrade pip ne l’améliorera pas non plus correctement. Il s’agit d’un problème particulier.)

Ce le fil l'explique (grâce à ce post Twitter ):

Utilisateurs Mac utilisant pip et PyPI:

Si vous utilisez macOS/OS X version 10.12 ou antérieure, vous devez effectuer une mise à niveau vers le dernier pip (9.0.3) pour vous connecter de manière sécurisée à l'index de package Python:

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

et nous vous recommandons de le faire avant le 8 avril.

Le Pip 9.0.3 prend en charge TLSv1.2 lorsqu’il est exécuté sous le système Python sur macOS <10.13. Notes de publication officielles: https://pip.pypa.io/en/stable/news/

En outre, le page d'état Python :

Completed - Les baisses actives sont terminées et TLSv1.0 et TLSv1.1 ont été désactivés. 11 avril, 15h37 UTC

Mise à jour - Les baisses de tension déroulantes ont été mises à niveau vers une panne d'électricité; TLSv1.0 et TLSv1.1 seront toujours rejetées avec un HTTP 403. 8 avr., 15h49 UTC

Enfin, pour éviter d’autres erreurs d’installation, assurez-vous également de mettre à jour setuptools après avoir effectué les opérations ci-dessus:

pip install --upgrade setuptools
110
Anupam

La prise en charge de TLS 1.0 et 1.1 a été abandonnée pour PyPI. Si votre système n'utilise pas de version plus récente, cela pourrait expliquer votre erreur.

Pourriez-vous essayer de réinstaller pip dans tout le système pour mettre à jour vos dépendances système vers une version plus récente de TLS?

Cela semble être lié à Impossible d'installer les bibliothèques Python

Voir la réponse de Dominique Barton:

Apparemment, pip tente d'accéder à PyPI via HTTPS (qui est chiffré et fin), mais avec une ancienne version SSL (non sécurisée). Votre système semble être obsolète. Cela pourrait aider si vous mettez à jour vos paquets.

J'essaierais sur les systèmes basés sur Debian:

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

Sur les systèmes Red Hat Linux:

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

Sur Mac:

Sudo easy_install -U pip

Vous pouvez également essayer de mettre à jour openssl séparément.

4
Guybrush