Come risolvere ReadTimeoutError: HTTPSConnectionPool (host = 'pypi.python.org', port = 443) con pip?


93

Recentemente ho bisogno di installare alcuni pacchetti

pip install future
pip install scikit-learn
pip install numpy
pip install scipy

Ho anche provato a scrivere sudoprima di loro, ma tutto è venuto fuori con i seguenti errori in linee rosse:

Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 290, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files
    do_download,
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url
    self.session,
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 572, in unpack_http_url
    download_hash = _download_url(resp, link, temp_location)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 433, in _download_url
    for chunk in resp_read(4096):
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 421, in resp_read
    chunk_size, decode_content=False):
  File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 256, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/usr/lib/python2.7/dist-packages/urllib3/response.py", line 201, in read
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

Storing debug log for failure in /root/.pip/pip.log'

2
A meno che non ci sia effettivamente un errore chiamato Errori schermata rossa, non metterlo come titolo
abccd

4
Penso che sia un problema di rete, prova a ping pypi.python.orgvedere se funziona. Può essere risolto con qualcosa di semplice come riavviare il router o riconnettersi a Internet o anche solo riprovare dopo un po 'di tempo. per favore segui Come chiedere prima di postare qui.
Krishna Chaitanya Kornepati

Ciò potrebbe accadere anche se deve passare il proxy. Esegui: pip install future --proxy = <your proxy site>
user3885927

Lo risolvo fermando openconnect proxy: | :))
Mojtaba Arvin

Risposte:


182

Yaayy! Ho trovato la risposta. Usa semplicemente --default-timeout = 100 parametro con l'installazione. per esempio

sudo pip install --default-timeout=100 future

16
In alternativa, l'ho usato export PIP_DEFAULT_TIMEOUT=100da quando avevo il pipcomando in un Dockerfile condiviso ed era un requisito temporaneo per me. Ma funziona, grazie!
Kerem

8
Grazie, mi salva in condizioni di Internet lenta. Immagino che 100 sia il numero di secondi che pip attenderà per la riconnessione dopo aver perso la connessione?
LittleZero

1
Posso rendere permanente l'impostazione del timeout?
Timo

1
Non riesco a trovare l'impostazione con pip helpo pip install help. C'è howerver socket timeout. Mi chiedo qual è il valore predefinito?
Timo

1
Non riesco a trovare l'impostazione con pip helpo pip install help. C'è howerver socket timeout. Mi chiedo qual è il valore predefinito?
Timo

8

sudo pip install --default-timeout = 100 future

o in alternativa

export PIP_DEFAULT_TIMEOUT = 100 ha funzionato per me su mac osx


0

Ci sono due modi per gestire questo problema.

Primo metodo:

sudo pip install --default-timeout = 100 future

Secondo: pip install --default-timeout = 100 future.

Nota: se non sei un superutente della tua macchina, il comando sudo pip non funzionerà. (È successo con me.)


2
Nota che non è una buona idea usare "sudo" con pip. Usa invece il flag "--user".
Incontra Sinojia il
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.