Wie löse ich ReadTimeoutError: HTTPSConnectionPool (host = 'pypi.python.org', port = 443) mit pip?

91

Ich muss kürzlich einige Pakete installieren

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

Ich habe es auch versucht, indem ich sudovor ihnen geschrieben habe, aber alles hat die folgenden Fehler in roten Linien ergeben:

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'
Ateeb
quelle
2
Wenn es nicht tatsächlich einen Fehler namens Red Screen Errors gibt, geben Sie diesen nicht als Titel an
abccd
4
Ich denke, es ist ein Netzwerkproblem. Versuchen Sie zu ping pypi.python.orgsehen, ob es funktioniert. Es kann mit etwas so Einfachem wie einem Neustart Ihres Routers oder einer erneuten Verbindung mit Ihrem Internet oder einem erneuten Versuch nach einiger Zeit gelöst werden. Bitte folgen Sie den Fragen, bevor Sie hier posten.
Krishna Chaitanya Kornepati
Dies kann auch passieren, wenn dort der Proxy umgangen werden muss. Do: pip install future --proxy = <Ihre Proxy-Site>
user3885927
Ich löse es mit dem Stoppen von openconnect Proxy: | :))
Mojtaba Arvin

Antworten:

175

Yaayy! Ich habe die Antwort gefunden. Verwenden Sie bei der Installation einfach den Parameter --default-timeout = 100. z.B

sudo pip install --default-timeout=100 future
Ateeb
quelle
16
Alternativ habe ich verwendet, export PIP_DEFAULT_TIMEOUT=100da ich den pipBefehl in einer freigegebenen Docker-Datei hatte und es eine vorübergehende Anforderung für mich war. Aber es funktioniert, danke!
Kerem
8
Danke, es erspart mir einen langsamen Internetzustand. Ich denke 100 ist die Anzahl der Sekunden, die Pip nach dem Verbindungsverlust auf die Wiederverbindung wartet?
LittleZero
1
Kann ich die Zeitüberschreitung dauerhaft einstellen?
Timo
1
Ich kann die Einstellung mit pip helpoder nicht finden pip install help. Es gibt Howerver socket timeout. Ich frage mich, was ist der Standardwert?
Timo
1
Ich kann die Einstellung mit pip helpoder nicht finden pip install help. Es gibt Howerver socket timeout. Ich frage mich, was ist der Standardwert?
Timo
8

sudo pip install --default-timeout = 100 future

oder alternativ

export PIP_DEFAULT_TIMEOUT = 100 hat bei mir auf mac osx funktioniert

Jagdish
quelle
0

Sie sind zwei Möglichkeiten, um dieses Problem zu lösen.

Erste Methode:

sudo pip install --default-timeout = 100 future

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

Hinweis: Wenn Sie kein Superuser Ihres Computers sind, funktioniert der Befehl sudo pip nicht. (Es ist mit mir passiert.)

ARB
quelle
1
Beachten Sie, dass es keine gute Idee ist, 'sudo' mit pip zu verwenden. Verwenden Sie stattdessen das Flag '--user'.
Treffen Sie Sinojia