échec de connexion pip: impossible de récupérer l'URL de base de l'index http://pypi.python.org/simple/


89

Je cours sudo pip install git-reviewet reçois les messages suivants:

Downloading/unpacking git-review
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement git-review
No distributions at all found for git-review
Storing complete log in /home/sai/.pip/pip.log

Quelqu'un a-t-il une idée à ce sujet?


4
Doit être une connexion proxy
Ossama

1
"aucun d'entre eux ne semble résoudre mon problème" Lesquels sont-ils? Pour que nous ne nous répétions pas.
RandomSeed

Réponses:


143

Je sais que c'est un vieux fil, mais j'ai rencontré ce problème aujourd'hui et je voulais partager ma solution au problème car je n'ai pas vu cette solution ailleurs sur SO.

Mon environnement: Python 2.7.12 / 2.7.14 sur Ubuntu 12.04.5 LTS dans un virtualenv, pip version 1.1.

Mes erreurs:

pip install nose

dans la console:

Cannot fetch index base URL http://pypi.python.org/simple/

dans ~ / .pip / pip.log:

Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required

Curieux pour moi car j'exécutais ces mêmes commandes dans un script sans problème depuis environ un an.

cela l'a corrigé:

pip install --index-url=https://pypi.python.org/simple/ nose

(notez le https)

J'espère que cela aide quelqu'un!


Merci beaucoup! J'avais également ce problème sur Ubuntu 12.04, qui avait un existant pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)installé, qui était effectivement inutilisable.
Josh Kupershmidt

Vous méritez une médaille, monsieur. J'avais ce problème sur mon beaglebone noir. Maintenant, c'est corrigé.
Aditya Shekhawat

Beaucoup de réponses ici. Aucun d'entre eux n'est pertinent / n'a fonctionné pour moi sauf celui-ci. Merci!
arielf

pip install --index-url=http://mypypi.net/simple/jette une erreurERROR: You must give at least one requirement to install (see "pip help install")
Confondé

@Confounded - Merci d'avoir signalé cela, listez simplement les paquets que vous souhaitez installer après l'option --index-url. Voir la mise à jour pour un exemple.
mattdedek

59

Vous devez mettre à niveau votre installation pip .

L' option --index-url(version courte -i:) vous permet de spécifier une URL d'index dans l'appel à pip lui-même, vous pouvez y utiliser la variante https. Ensuite, vous pouvez demander à pip de se mettre à niveau.

sudo pip install --index-url https://pypi.python.org/simple/ --upgrade pip

Ensuite, vous devriez pouvoir utiliser pip sans l' --index-urloption.


Je crois que la version 7.0.0 (2015-05-21) a déclenché ce problème. La note de publication de cette version indique ce qui suit:

BACKWARD INCOMPATIBLE Ne prend plus implicitement en charge une origine d'origine non sécurisée, mais nécessite plutôt que les origines non sécurisées soient explicitement approuvées avec l' --trusted-hostoption.

Vous pouvez vérifier votre version de pip avec pip --version.

Cela signifierait qu'une émission sudo pip install --trusted-host --upgrade pipunique résoudrait également ce problème, même si le téléchargement de pip sur http non sécurisé. Cela peut également ne pas fonctionner du tout, car il est possible que le point de terminaison non sécurisé ne soit plus accessible sur le serveur (je n'ai pas testé cela).


42

ÉDITER:

La version actuelle de PIPn'a plus ce problème. À partir de maintenant, version: 7.1.2est la version actuelle. Voici le PIPlien:

https://pypi.python.org/pypi/pip

CORRECTIF ORIGINAL:

J'ai eu ce problème en essayant d'utiliser pip==1.5.4

Il s'agit d'un problème lié aux certificats SSL de confiance PIP et PYPI de Python. Si vous regardez dans le journal PIP sous Mac OS X à: /Users/username/.pip/pip.log, cela vous donnera plus de détails.

Ma solution de contournement pour remettre PIP en marche après des heures à essayer différentes choses était d'aller dans mes packages de site en Python, que ce soit dans un virtualenv ou dans vos packages de site normaux , et de me débarrasser de la version actuelle de PIP. Pour moi j'avaispip==1.5.4

J'ai supprimé le répertoire PIP et le fichier oeuf PIP. Puis j'ai couru

easy_install pip==1.2.1  

Cette version de PIP n'a pas le problème SSL, puis j'ai pu exécuter mon programme normal pip install -r requirements.txtdans mon virtualenv pour configurer tous les packages que je voulais qui étaient répertoriés dans monrequirements.txt fichier.

C'est également le hack recommandé pour faire passer le problème par plusieurs personnes de ce groupe Google que j'ai trouvé:

https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw


Correction du problème pour moi aussi.
HorseloverFat

6
Pour info, si vous lisez ceci en ce moment (comme je l'ai fait), vous devriez mettre à jour pip au lieu de le déclasser. J'ai été très surpris de constater que j'avais 5 versions majeures derrière (nous sommes maintenant à 6.0.8). La mise à niveau a résolu le problème :)
Dr Acula

@ Dr Acula vous avez raison. J'ai mis à jour ma réponse. Merci.
Aaron Lelevier

"vous devriez mettre à jour pip" Je ne peux pas mettre à jour pip pour la même raison que je ne peux pas installer les paquets; HTTP Error 403: SSL is required
user5359531

9
@ user5359531 Téléchargez l'archive tar pip depuis PyPI et faites-le pip install pip-x.x.x.tar.gz.
Pelle Nilsson

13

J'ai ajouté l'option de ligne de commande --proxy pour pointer vers le proxy et cela fonctionne (la version pip est 1.5.4 et python 2.7). pour une raison quelconque, il ne prenait pas les variables d'environnement du shell HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

sudo pip --proxy [user:passwd@]proxy.server:port install git-review

ces crochets autour de l'utilisateur sont-ils obligatoires? pourquoi le symbole @ est-il utilisé après le mot de passe?
user13107

12

Vérifiez votre connexion proxy, j'ai eu un problème similaire, puis j'ai changé ma connexion qui n'était pas proxy et boom, elle a commencé à télécharger et à configurer la bibliothèque


1
Comment avez-vous modifié votre connexion proxy pour qu'elle fonctionne? J'ai le même problème.
Aaron Lelevier

J'ai supprimé le proxy et changé la connexion en une connexion sans proxy, puis une fois installé, je suis revenu à la connexion de travail
Ossama

Im face au même problème et je suis presque sûr que c'est un problème de proxy. Existe-t-il une solution de contournement autre que l'utilisation d'une autre connexion?
shaunakde

Je me suis connecté à mon téléphone pour contourner le proxy de mon entreprise. Belle solution.
HuckIt

1
Mon problème était que Fiddler était ouvert (et j'avais configuré Fiddler pour décrypter le trafic HTTPS). J'ai fermé Fiddler et cela a bien fonctionné.
AJ Richardson

6

J'ai eu le même problème avec pip==1.5.6. J'ai dû corriger l'heure de mon système.

# date -s "2014-12-09 10:09:50"

1
Une autre façon de corriger l'heure système consiste à utiliser le démon ntp.
Jaime M.

a très bien fonctionné pour moi, j'étais content que ce soit aussi simple à réparer
jamescampbell

6

J'ai eu le même problème avec pip 1.5.6.

Je viens de supprimer le dossier ~ / .pip et cela a fonctionné comme un charme.

rm -r ~/.pip/

5

Cela a fonctionné pour moi sur Ubuntu 12.04.

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn

4

Si ce n'est pas un problème de proxy / réseau, vous devriez essayer de créer / modifier le fichier de configuration .pip/pip.confou si vous exécutez pip en tant que root /root/.pip/pip.conf. Vérifiez et changez l'URL d'index de http à https .

Ça devrait être comme ça:

[global] 
index-url=https://pypi.python.org/simple/

A travaillé pour moi avec Ubuntu 12 et pip 9.0.1



2

J'ai pu résoudre ce problème en mettant à niveau mon python, qui était auparavant attaché à une version obsolète d'OpenSSL. Maintenant, il utilise 1.0.1h-1 et mon paquet installera pip.

FYI, mon journal et mes commandes, en utilisant anaconda et en installant le package pytest-ipynb [1]:


$ conda update python
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /Users/me/anaconda/envs/py27:

The following NEW packages will be INSTALLED: openssl: 1.0.1h-1

The following packages will be UPDATED: python: 2.7.5-3 --> 2.7.8-1 readline: 6.2-1 --> 6.2-2 sqlite: 3.7.13-1 --> 3.8.4.1-0 tk: 8.5.13-1 --> 8.5.15-0

Proceed ([y]/n)? y Unlinking packages ... [ COMPLETE ] |#############################################################| 100% Linking packages ... [ COMPLETE ] |#############################################################| 100%

$ pip install pytest-ipynb Downloading/unpacking pytest-ipynb Downloading pytest-ipynb-0.1.1.tar.gz Running setup.py (path:/private/var/folders/4f/b8gwyhg905x94twqw2pbklyw0000gn/T/pip_build_me/pytest-ipynb/setup.py) egg_info for package pytest-ipynb

Requirement already satisfied (use --upgrade to upgrade): pytest in /Users/me/anaconda/envs/py27/lib/python2.7/site-packages (from pytest-ipynb) Installing collected packages: pytest-ipynb Running setup.py install for pytest-ipynb

Successfully installed pytest-ipynb Cleaning up...

[1] Mon ticket sur ce problème; https://github.com/zonca/pytest-ipynb/issues/1


Je suis désolé, je ne sais pas pourquoi le formatage a ajouté autant de lignes vides?
AnneTheAgile

1

J'ai rencontré le même problème mais c'était un proxy lié. il a été résolu en définissant un proxy.

Set http_proxy=http://myuserid:mypassword@myproxyname:myproxyport
Set https_proxy=http://myuserid:mypassword@myproxyname:myproxyport

Cela pourrait aider quelqu'un.


1

Si votre proxy est configuré correctement, la version 1.5.6 de pip le gérera correctement. Le bogue a été résolu.

Vous pouvez mettre à niveau pip avec easy_install pip==1.5.6


1

Réponse supplémentaire: si vous faites cela depuis chroot .

Vous avez besoin d'une source de nombres aléatoires pour pouvoir établir une connexion sécurisée à pypi.

Sous Linux, vous pouvez lier le développement hôte au développement chroot:

mount --bind /dev /path-to-chroot/dev

1

J'ai également eu cette erreur lors de l'installation de pyinstaller dans une connexion proxy. Je viens de connecter une connexion Internet directe (en utilisant mon dongle) et je l'ai fait à nouveau.

 sudo pip install pyinstaller

Cela a fonctionné pour moi.


1

Il vous manque peut-être une configuration de serveur DNS dans /etc/resolv.conf

assurez-vous que vous pouvez envoyer un ping à: ping pypi.python.org

si vous n'obtenez pas de ping, essayez d'ajouter un serveur DNS au fichier ... quelque chose comme:

serveur de noms xxx.xxx.xxx.xxx


1

Mon explication / enquête concerne l' environnement Windows .
Je suis assez nouveau en python, et c'est pour quelqu'un qui est encore novice que moi.
J'ai installé le dernier pip (package d'installation python) et téléchargé des binaires compatibles 32 bits / 64 bits (open source) à partir de http://www.lfd.uci.edu/~gohlke/pythonlibs/ , et cela a fonctionné.

Étapes suivies pour installer pip, bien que généralement pip soit installé par défaut lors de l'installation de python depuis www.python.org/downloads/
- Téléchargez pip-7.1.0.tar.gz depuis https://pypi.python.org/pypi/pip .
- Décompressez et décompressez le fichier ci-dessus.
- Dans le dossier pip-7.1.0, exécutez: python setup.py install. Cette dernière version installée de pip.

Utilisez pip pour installer (toute opération possible) le package binaire. Exécutez l'application pip pour faire le travail (fichier d'installation), comme ci-dessous:
\ python27 \ scripts \ pip2.7.exe install file_path \ file_name --proxy
Si vous rencontrez un problème de roue (ie egg), utilisez le fichier de package binaire compatible . J'espère que cela t'aides.


1

Dans mon cas (Python 3.4, dans un environnement virtuel, fonctionnant sous macOS 10.10.6), je ne pouvais même pas se mettre à niveau pip. L'aide est venue de cette réponse SO sous la forme du one-liner suivant:

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

(Si vous n'utilisez pas d'environnement virtuel, vous en aurez peut-être besoin sudo python.)

Avec cela, j'ai réussi à passer pipde la version 1.5.6 à la version 10.0.0 (un saut!). Cette version n'utilise pas TLS 1.0 ou 1.1 qui ne sont plus supportés par le (s) site (s) Python.org, et peut installer correctement les packages PyPI. Pas besoin de préciser --index-url=https://pypi.python.org/simple/.


1

dans mon cas, j'installerais django (

pip installer django

) et il a le même problème avec le certificat ssl (impossible de récupérer l'URL de base de l'index http://pypi.python.org/simple/ )

c'est de virtualenv alors FAITES:

PREMIER: supprimez votre virtualenv

désactiver rm -rf env

DEUXIÈME: vérifier avoir pip

pip3 -V

si tu n'as pas

sudo apt-get installer python3-pip

ENFIN:

installez virtualenv avec nosite-packages et faites votre virenviroment

sudo pip3 installer virtualenv virtualenv --no-site-packages -p /usr/bin/python3.6

. env / bin / activer


0

J'ai eu un problème similaire, mais dans mon cas, j'obtenais l'erreur:

Downloading/unpacking bencode
  Cannot fetch index base URL http://c.pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement bencode
No distributions at all found for bencode
Storing complete log in /home/andrew/.pip/pip.log

Dans mon cas, j'ai pu corriger l'erreur en éditant ~ / .pip / pip.conf et en changeant http://c.pypi.python.org/simple/en http://pypi.python.org/simple, puis pip a bien fonctionné à nouveau.


0

J'ai ce message d'erreur dans ~/.pip/pip.log

Could not fetch URL https://pypi.python.org/simple/: connection error: [Errno 185090050] _ssl.c:344: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
  Will skip URL https://pypi.python.org/simple/ when looking for download links for regulargrid

Je l'ai corrigé en mettant à jour mon ~/.pip/pip.conf. Il a accidentellement signalé un cacert.pemfichier qui n'existait pas et ressemblait à ceci

[global]
cert = /some/path/.pip/cacert.pem

0

J'utilisais la easy_install pip==1.2.1solution de contournement mais j'ai trouvé au hasard que si vous rencontrez ce bogue, vous avez probablement installé une version 32 bits de python.

Si vous installez une version 64 bits de celui-ci en l'installant à partir de la source, puis en construisant votre virtualenv dessus, vous n'aurez plus ce bogue pip.


0

J'ai également utilisé la solution choisie (rétrogradation de pip) pour contourner ce problème jusqu'à ce que je rencontre un autre problème apparemment sans rapport causé par le même problème sous-jacent. La version Python d'OpenSSL était obsolète. Vérifiez votre version d'OpenSSL:

python -c 'import ssl; print(ssl.OPENSSL_VERSION)'

Si la version est 0.9.7, cela devrait vérifier qu'OpenSSL doit être mis à jour. Si vous savez comment faire cela directement, super (mais faites-le moi savoir dans un commentaire). Sinon, vous pouvez suivre les conseils de cette réponse et réinstaller python à partir du programme d'installation 64 bits / 32 bits au lieu du programme d'installation 32 bits uniquement de python.org (j'utilise python 3.4.2). J'ai maintenant la version OpenSSL 0.9.8, et aucun de ces problèmes.


0

Essayez de réinstaller pip:

curl -O https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
tar xvfz pip-1.2.1.tar.gz
cd pip-1.2.1
python setup.py install

Si curl ne fonctionne pas, vous aurez des problèmes de proxy, veuillez corriger cela devrait fonctionner correctement. Vérifiez après avoir ouvert google.com dans votre navigateur sous Linux.

Essayez d'installer

pip install virtualenv

0

Si vous utilisez un pare-feu, assurez-vous que les connexions sortantes vers le port 443 ne sont pas bloquées, par exemple, exécutez:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT


0
C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement matplotlib
Cleaning up...
No distributions at all found for matplotlib
Storing debug log for failure in C:\Users\Asus\pip\pip.log

J'ai utilisé 'easy_install pip == 1.2.1' et cela a bien fonctionné.

C:\Users\Asus>easy_install pip==1.2.1
Searching for pip==1.2.1
Reading https://pypi.python.org/simple/pip/
Best match: pip 1.2.1
Downloading ...

Puis en utilisant cette commande 'pip install matplotlib'

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):

0

Si vous exécutez ces commandes dans un conteneur Docker sous Windows, cela peut signifier que la connexion réseau de votre machine Docker est obsolète et doit être reconstruite. Pour résoudre ce problème, exécutez ces commandes:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i

0

Je reçois maintenant ceci $HOME/.pip/pip.log:

Could not fetch URL https://pypi.python.org/simple/: HTTP Error 403: TLSv1.2+ is required

Je n'ai pas de solution simple pour cela, mais je le mentionne comme quelque chose à surveiller avant de perdre du temps à essayer certaines des autres solutions ici.

  • J'utilise évidemment déjà une URL https
  • Il n'y a pas de problème de proxy ou de pare-feu
  • L'utilisation trusted-hostn'a rien changé (je ne sais pas où j'ai pris ça)

Car ce que ça vaut, opensslc'est trop vieux pour l'avoir, ssl.OPENSSL_VERSIONc'est peut-être vraiment l'explication ici.

En fin de compte, effacer mon environnement virtuel et le recréer avec virtualenv --setuptools envsemble avoir corrigé au moins les principaux bloqueurs.

Ceci est sur une très vieille boîte Debian, Python 2.6.6.


0

Mon problème était la virtualenvversion du système .

Quand j'ai créé un env avec python3 venv, tout fonctionnait. Mais lorsque j'utilise virtualenv (par défaut avec python2.7) pour créer un env, je reçois ces messages d'erreur.

Dans la virtualenvversion créée, la version pip était 1.5.6, mais ma version pip système était10.0.1

Puis j'ai couru (en dehors de tout env):

pip install virtualenv --upgrade

Il est passé virtualenvà la version 16.0.0et maintenant monpip install dans les envs créés avec virtualenvet python2.7fonctionne parfaitement. De plus, la pipversion à l'intérieur de l'environnement est maintenant10.0.1 .

Avant la mise à jour:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.