124 votes

problème de pip pour installer presque toutes les bibliothèques

J'ai du mal à utiliser pip pour installer presque tout. Je suis nouveau dans le codage, alors j'ai pensé que c'était peut-être quelque chose que je faisais mal et j'ai opté pour easy_install pour obtenir la plupart de ce dont j'avais besoin, ce qui a généralement fonctionné. Cependant, maintenant j'essaie de télécharger la bibliothèque nltk, et aucun des deux n'arrive à faire le travail.

J'ai essayé d'entrer

sudo pip install nltk

mais a obtenu la réponse suivante :

/Library/Frameworks/Python.framework/Versions/2.7/bin/pip run on Sat May  4 00:15:38 2013
Downloading/unpacking nltk

  Getting page https://pypi.python.org/simple/nltk/
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link]/simple/nltk/ when looking for download links for nltk

  Getting page [need more reputation to post link]/simple/
  Could not fetch URL https://pypi.python. org/simple/: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Cannot fetch index base URL [need more reputation to post link]

  URLs to search for versions for nltk:
  * [need more reputation to post link]
  Getting page [need more reputation to post link]
  Could not fetch URL [need more reputation to post link]: There was a problem confirming the ssl certificate: <urlopen error [Errno 1] _ssl.c:504: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm>

  Will skip URL [need more reputation to post link] when looking for download links for nltk

  Could not find any downloads that satisfy the requirement nltk

No distributions at all found for nltk

Exception information:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 266, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1026, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/index.py", line 171, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
DistributionNotFound: No distributions at all found for nltk

--easy_install installed fragments of the library and the code ran into trouble very quickly upon trying to run it.

Des idées sur cette question ? J'apprécierais vraiment un retour sur la façon dont je peux soit faire fonctionner pip, soit contourner le problème en attendant.

144voto

Schollii Points 8020

J'ai trouvé suffisant de spécifier l'hôte pypi comme étant de confiance. Exemple :

pip install --trusted-host pypi.python.org pytest-xdist
pip install --trusted-host pypi.python.org --upgrade pip

Cela a permis de résoudre l'erreur suivante :

  Could not fetch URL https://pypi.python.org/simple/pytest-cov/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600) - skipping
  Could not find a version that satisfies the requirement pytest-cov (from versions: )
No matching distribution found for pytest-cov

Mise à jour avril 2018 : Pour tous ceux qui obtiennent l'erreur TLSV1_ALERT_PROTOCOL_VERSION : cela n'a rien à voir avec le problème de l'hôte de confiance/vérification du PO ou de cette réponse. L'erreur TLSV1 est plutôt due au fait que votre interpréteur ne supporte pas TLS v1.2, vous devez mettre à jour votre interpréteur. Voir par exemple https://news.ycombinator.com/item?id=13539034 , http://pyfound.blogspot.ca/2017/01/time-to-upgrade-your-python-tls-v12.html y https://bugs.python.org/issue17128 .

Mise à jour février 2019 : Pour certains, il peut être suffisant de mettre à jour pip. Si l'erreur ci-dessus vous empêche de le faire, utilisez get-pip.py. Par exemple, sous Linux,

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

Plus de détails à l'adresse suivante https://pip.pypa.io/en/stable/installing/ .

44voto

rom Points 771

J'ai utilisé la version pip 9.0.1 et j'ai eu le même problème, toutes les réponses ci-dessus n'ont pas résolu le problème, et je ne pouvais pas installer python / pip avec brew pour d'autres raisons.

Mise à niveau de pip vers 9.0.3 a résolu le problème. Et comme je ne pouvais pas mettre à jour pip avec pip, j'ai téléchargé les sources et les ai installées manuellement.

  1. Téléchargez la bonne version de pip à partir de - https://pypi.org/simple/pip/
  2. sudo python3 pip-9.0.3.tar.gz - Installer pip

Ou vous pouvez installer un pip plus récent avec :

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

33voto

Parth Choudhary Points 448

Pypi a supprimé le support pour les versions de TLS inférieures à 1.2

Vous devez réinstaller Pip, faites

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

ou pour le Python global :

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

32voto

Aachen Points 421

J'ai utilisé la version pip3 9.0.1 et n'a pu installer aucun paquet récemment via la commande pip3 install .

Version Mac os : Capitaine EI 10.11.5 .

version de python : 3.5

J'ai essayé la commande :

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

Ça n'a pas marché pour moi.

J'ai donc désinstallé l'ancien pip et installé la nouvelle version. 10.0.0 en entrant ceci :

python3 -m pip uninstall pip setuptools
curl https://bootstrap.pypa.io/get-pip.py | python3

Maintenant, mon problème était résolu. Si vous utilisez le python2, vous pouvez remplacer le python3 par le python. J'espère que cela fonctionne également pour vous.

Au fait, pour certains novices comme moi, il faut entrer le code : sudo -i

pour obtenir le droit de racine :) Bonne chance !

28voto

Dougal Points 15023

Vous voyez probablement ce problème ; voir aussi ici .

La solution la plus simple consiste à rétrograder pip vers un système qui n'utilise pas SSL : easy_install pip==1.2.1 . Vous perdez ainsi l'avantage de l'utilisation de SSL en matière de sécurité. La vraie solution est d'utiliser une distribution Python liée à une bibliothèque SSL plus récente.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X