errore di connessione pip: impossibile recuperare l'URL di base dell'indice http://pypi.python.org/simple/


89

Corro sudo pip install git-reviewe ricevo i seguenti messaggi:

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

Qualcuno ha idea di questo?


4
Deve essere una connessione proxy
Ossama

1
"nessuno di loro sembra risolvere il mio problema" Quali sono questi? In modo che non ci ripetiamo.
RandomSeed

Risposte:


143

So che questo è un vecchio thread, ma ho riscontrato questo problema oggi e volevo condividere la mia soluzione al problema perché non ho visto questa soluzione altrove su SO.

Il mio ambiente: Python 2.7.12 / 2.7.14 su Ubuntu 12.04.5 LTS in un virtualenv, pip versione 1.1.

I miei errori:

pip install nose

in console:

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

in ~ / .pip / pip.log:

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

Curioso per me perché ho eseguito questi stessi comandi in uno script senza problemi per circa un anno.

questo lo ha risolto:

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

(notare l'https)

Spero che questo aiuti qualcuno!


Molte grazie! Ho riscontrato questo problema anche su Ubuntu 12.04, che aveva un pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)installato esistente , che era effettivamente inutilizzabile.
Josh Kupershmidt

Signore, meriti una medaglia. Avevo questo problema con il mio beaglebone nero. Ora è stato risolto.
Aditya Shekhawat

Molte risposte qui. Nessuno di loro è rilevante / ha funzionato per me tranne questo. Grazie!
arielf

pip install --index-url=http://mypypi.net/simple/getta un erroreERROR: You must give at least one requirement to install (see "pip help install")
Confuso il

@Confounded - Grazie per averlo sottolineato, elenca i pacchetti che desideri installare dopo l'opzione --index-url. Vedi l'aggiornamento per un esempio.
mattdedek

59

Devi aggiornare la tua installazione pip .

L' opzione --index-url(versione breve -i:) consente di specificare un URL-indice nella chiamata al pip stesso, lì è possibile utilizzare la variante https. Quindi puoi istruire pip per aggiornarsi.

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

Successivamente dovresti essere in grado di usare pip senza l' --index-urlopzione.


Credo che la versione 7.0.0 (2015-05-21) abbia innescato questo problema. La nota di rilascio per quella versione afferma quanto segue:

INDIETRO INCOMPATIBILE Non supporta più implicitamente un'origine di origine non sicura e richiede invece che le origini non sicure siano esplicitamente attendibili con l' --trusted-hostopzione.

Puoi controllare la tua versione pip con pip --version.

Ciò significherebbe che l'emissione sudo pip install --trusted-host --upgrade pipuna volta risolverà anche questo problema, sebbene il pip di download su http non sicuro. Anche questo potrebbe non funzionare affatto, perché è possibile che l'endpoint non sicuro non sia più accessibile sul server (non l'ho testato).


42

MODIFICARE:

La versione corrente di PIPnon presenta più questo problema. A partire da ora, version: 7.1.2è la versione corrente. Ecco il PIPlink:

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

FIX ORIGINALE:

Ho riscontrato questo problema durante il tentativo di utilizzare pip==1.5.4

Questo è un problema relativo a PIP e PYPI di Python che considerano attendibili i certificati SSL. Se guardi nel registro PIP in Mac OS X su: /Users/username/.pip/pip.log ti fornirà maggiori dettagli.

La mia soluzione alternativa per riportare PIP attivo e funzionante dopo ore di tentativi di cose diverse è stata quella di entrare nei miei pacchetti del sito in Python, sia che si trovi in ​​un virtualenv o nei normali pacchetti del sito , e sbarazzarmi dell'attuale versione PIP. Per me l'ho avutopip==1.5.4

Ho cancellato la directory PIP e il file uovo PIP. Poi ho corso

easy_install pip==1.2.1  

Questa versione di PIP non ha il problema SSL, quindi sono stato in grado di eseguire il normale pip install -r requirements.txtnel mio virtualenv per configurare tutti i pacchetti che volevo fossero elencati nel mio requirements.txtfile.

Questo è anche l'hack consigliato per superare il problema da diverse persone in questo gruppo Google che ho trovato:

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


Risolto il problema anche per me.
HorseloverFat

6
Cordiali saluti, se stai leggendo questo in questo momento (come ho fatto io), dovresti aggiornare pip invece di declassarlo. Sono stato molto sorpreso di rendermi conto che ero indietro di 5 versioni principali (ora siamo alla 6.0.8). L'aggiornamento ha risolto il problema :)
Dr. Acula

@ Dr.Acula hai ragione. Ho aggiornato la mia risposta. Grazie.
Aaron Lelevier,

"dovresti aggiornare pip" Non posso aggiornare pip per lo stesso motivo per cui non posso installare i pacchetti; HTTP Error 403: SSL is required
user5359531

9
@ user5359531 Scarica il tarball pip da PyPI e fallo pip install pip-x.x.x.tar.gz.
Pelle Nilsson

13

Ho aggiunto l'opzione della riga di comando --proxy per puntare al proxy e funziona (la versione pip è 1.5.4 e python 2.7). per qualche motivo non stava prendendo le variabili env della shell HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

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

sono necessarie quelle parentesi quadre intorno all'utente? perché viene utilizzato il simbolo @ dopo la password?
user13107

12

Controlla la tua connessione proxy, ho avuto un problema simile, poi ho cambiato la mia connessione che non era proxy e boom, ho iniziato a scaricare e configurare la libreria


1
Come hai modificato la tua connessione proxy per farlo funzionare? Ho lo stesso problema.
Aaron Lelevier

Ho rimosso il proxy e ho cambiato la connessione a una senza proxy, quindi una volta installato sono tornato alla connessione di lavoro
Ossama

Sto affrontando lo stesso problema e sono abbastanza sicuro che sia un problema di proxy. Esiste una soluzione alternativa oltre all'utilizzo di un'altra connessione?
shaunakde

Ho collegato il mio telefono per aggirare il proxy della mia azienda. Bella soluzione.
HuckIt

1
Il mio problema era che Fiddler era aperto (e avevo configurato Fiddler per decrittografare il traffico HTTPS). Ho chiuso Fiddler e ha funzionato bene.
AJ Richardson

6

Ho avuto lo stesso problema con pip==1.5.6. Ho dovuto correggere l'ora di sistema.

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

1
Un altro modo per correggere l'ora di sistema è usare il demone ntp.
Jaime M.

ha funzionato alla grande per me, sono stato contento che fosse così semplice da risolvere
jamescampbell

6

Ho avuto lo stesso problema con pip 1.5.6.

Ho appena eliminato la cartella ~ / .pip e ha funzionato a meraviglia.

rm -r ~/.pip/

5

Questo ha funzionato per me su Ubuntu 12.04.

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

4

Se questo non è un problema di proxy / rete, dovresti provare a creare / modificare il file di configurazione .pip/pip.confo se stai eseguendo pip come root /root/.pip/pip.conf. Controlla e modifica l'URL dell'indice da http a https .

Dovrebbe essere così:

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

Ha funzionato per me con Ubuntu 12 e pip 9.0.1



2

Sono stato in grado di risolvere questo problema aggiornando il mio python, che in precedenza era stato collegato a una versione obsoleta di OpenSSL. Ora sta usando 1.0.1h-1 e il mio pacchetto verrà installato tramite pip.

Cordiali saluti, il mio registro e comandi, usando anaconda e installando il pacchetto 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] Il mio biglietto su questo problema; https://github.com/zonca/pytest-ipynb/issues/1


Mi dispiace, non sono sicuro del motivo per cui la formattazione ha aggiunto così tante righe vuote?
AnneTheAgile

1

Ho affrontato lo stesso problema, ma era un proxy correlato. è stato risolto impostando proxy.

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

Questo potrebbe aiutare qualcuno.


1

Se il tuo proxy è configurato correttamente, la versione pip 1.5.6 lo gestirà correttamente. Il bug è stato risolto.

Puoi aggiornare pip con easy_install pip==1.5.6


1

Risposta extra: se lo fai da chroot .

Hai bisogno di una fonte di numeri casuali per poter stabilire una connessione sicura a pypi.

Su Linux, puoi bind-mount host dev a chroot dev:

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

1

Ho anche ricevuto questo errore durante l'installazione di pyinstaller in una connessione proxy. Ho appena collegato una connessione Internet diretta (utilizzando il mio dongle) e l'ho fatto di nuovo.

 sudo pip install pyinstaller

Questo ha funzionato per me.


1

Potrebbe mancare una configurazione del server DNS in /etc/resolv.conf

assicurati di poter eseguire il ping a: ping pypi.python.org

se non ricevi un ping, prova ad aggiungere un server DNS al file ... qualcosa come:

server dei nomi xxx.xxx.xxx.xxx


1

La mia spiegazione / richiesta è per l' ambiente Windows .
Sono abbastanza nuovo in Python, e questo è per qualcuno ancora alle prime armi di me.
Ho installato l'ultimo pip (pacchetto di installazione python) e scaricato binari compatibili a 32 bit / 64 bit (open source) da http://www.lfd.uci.edu/~gohlke/pythonlibs/ e ha funzionato.

Passaggi seguiti per installare pip, sebbene di solito pip sia installato per impostazione predefinita durante l'installazione di python da www.python.org/downloads/
- Scarica pip-7.1.0.tar.gz da https://pypi.python.org/pypi/pip .
- Decomprimere e decomprimere il file sopra.
- Nella cartella pip-7.1.0, esegui: python setup.py install. Questa ultima versione di pip installata.

Usa pip per installare (qualsiasi operazione fattibile) il pacchetto binario. Esegui l'app pip per eseguire il lavoro (file di installazione), come di seguito:
\ python27 \ scripts \ pip2.7.exe install file_path \ file_name --proxy
Se affronti un problema con la ruota (cioè l'uovo), usa il file del pacchetto binario compatibile . Spero che sia di aiuto.


1

Nel mio caso (Python 3.4, in un ambiente virtuale, in esecuzione su macOS 10.10.6) non sono riuscito nemmeno ad aggiornarsi pip. L'aiuto è venuto da questa risposta SO nella forma della seguente battuta:

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

(Se non si utilizza un ambiente virtuale, potrebbe essere necessario sudo python.)

Con questo sono riuscito a passare pipdalla versione 1.5.6 alla versione 10.0.0 (un bel salto!). Questa versione non utilizza TLS 1.0 o 1.1 che non sono più supportati dai siti Python.org e può installare correttamente i pacchetti PyPI. Non c'è bisogno di specificare --index-url=https://pypi.python.org/simple/.


1

nel mio caso installerei django (

pip installa django

) e ha lo stesso problema con il certificato SSL (Impossibile recuperare l'URL di base dell'indice http://pypi.python.org/simple/ )

è da virtualenv quindi FARE:

PRIMO: elimina il tuo virtualenv

disattivare rm -rf env

SECONDO: controlla avere pip

pip3 -V

se non hai

sudo apt-get install python3-pip

INFINE:

installa virtualenv con nosite-packages e crea il tuo virenviroment

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

. env / bin / activation


0

Ho avuto un problema simile, ma nel mio caso ho ricevuto l'errore:

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

Nel mio caso sono stato in grado di correggere l'errore modificando ~ / .pip / pip.conf e passando http://c.pypi.python.org/simple/a http://pypi.python.org/simplee poi pip ha funzionato di nuovo bene.


0

Ho ricevuto questo messaggio di errore ~/.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

L'ho risolto aggiornando il mio ~/.pip/pip.conf. Ha accidentalmente indicato un cacert.pemfile che non esisteva e aveva questo aspetto

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

0

easy_install pip==1.2.1Usavo la soluzione alternativa, ma ho scoperto casualmente che se hai questo bug, probabilmente hai installato una versione a 32 bit di python.

Se installi una versione a 64 bit di esso installandolo dal sorgente e poi crei il tuo virtualenv su di esso, non avrai più quel pip bug.


0

Anch'io ho usato la soluzione scelta (downgrade pip) per aggirare questo problema finché non mi sono imbattuto in un altro problema apparentemente non correlato causato dallo stesso problema sottostante. La versione di OpenSSL di Python era obsoleta. Controlla la tua versione di OpenSSL:

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

Se la versione è 0.9.7, ciò dovrebbe verificare che OpenSSL debba essere aggiornato. Se sai come farlo direttamente, ottimo (ma fammelo sapere in un commento). In caso contrario, puoi seguire il consiglio in questa risposta e reinstallare python dal programma di installazione a 64 bit / 32 bit invece del programma di installazione solo a 32 bit da python.org (sto usando python 3.4.2). Ora ho la versione OpenSSL 0.9.8e nessuno di questi problemi.


0

Prova a reinstallare 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

Se curl non funziona, avrai problemi con il proxy, per favore aggiusta che dovrebbe funzionare bene. Controlla dopo aver aperto google.com nel tuo browser in linux.

Il tentativo di installazione

pip install virtualenv

0

Se utilizzi un firewall, assicurati che le connessioni in uscita alla porta 443 non siano bloccate, ad esempio esegui:

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

Ho usato "easy_install pip == 1.2.1" e ha funzionato bene.

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 ...

Quindi usando questo comando 'pip install matplotlib'

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

0

Se esegui questi comandi in un contenitore Docker su Windows, potrebbe significare che la connessione di rete della tua macchina Docker è obsoleta e deve essere ricostruita. Per risolverlo, esegui questi comandi:

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

0

Ora sto ricevendo questo $HOME/.pip/pip.log:

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

Non ho una soluzione semplice per questo, ma lo sto menzionando come qualcosa a cui prestare attenzione prima di perdere tempo a provare alcune delle altre soluzioni qui.

  • Ovviamente sto già utilizzando un URL https
  • Non ci sono problemi con proxy o firewall
  • L'utilizzo trusted-hostnon ha cambiato nulla (non so da dove l'ho preso)

Per quello che vale, il mio opensslè troppo vecchio persino per averlo, ssl.OPENSSL_VERSIONquindi forse questa è davvero la spiegazione qui.

Alla fine, cancellare il mio ambiente virtuale e ricrearlo con virtualenv --setuptools envsembra aver risolto almeno i principali bloccanti.

Questo è su una macchina Debian molto vecchia, Python 2.6.6.


0

Il mio problema era la virtualenvversione del sistema .

Quando ho creato un env con python3 venv tutto ha funzionato. Ma quando ho usato virtualenv (per impostazione predefinita con python2.7) per creare un env, ricevo quei messaggi di errore.

Nel virtualenvcreato la versione pip era 1.5.6, ma la mia versione pip di sistema lo era10.0.1

Quindi ho eseguito (fuori da qualsiasi env):

pip install virtualenv --upgrade

È stato aggiornato virtualenvalla versione 16.0.0e ora il mio pip installnegli envs è stato creato virtualenve python2.7funziona perfettamente. Inoltre, la pipversione all'interno di env è adesso 10.0.1.

Prima dell'aggiornamento:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.