it-swarm.com.de

Pip schlägt mit ReadTimeoutError fehl

Ich versuche, jupyter notebook mit pip zu installieren, also habe ich zuerst pip3 installiert:

Sudo apt-get install --no-install-recommends python3-pip

Dann bin ich gelaufen:

Sudo pip3 install jupyter

Während des Herunterladens des Pakets notebook wartet es einige Sekunden, das es mit vielen Fehlern fehlschlägt, deren Ende so aussieht:

File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/response.py", line 231, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(Host='pypi.python.org', port=443): Read timed out.

Meine Ubuntu-Version ist: 16.04 (Xenial) und ich habe eine ziemlich langsame Internetverbindung.

4
Ravexina

Die notebook Paketgröße liegt bei 6.9 MB, und wenn Sie mit einer langsamen Internetverbindung arbeiten, besteht eine hohe Wahrscheinlichkeit, dass die Installation aufgrund des Timeouts fehlschlägt.

Ich habe das Problem durch Aktualisieren des pip3 behoben, aber ich werde auch einen anderen Weg vorschlagen. Wenn Sie den pip3 nicht aktualisieren können, verwenden Sie diesen, dies würde auch die Arbeit erledigen.

Sie können den Schalter --default-timeout verwenden, um dieses Problem zu beheben. Beispiel:

Sudo pip --default-timeout=1000 install jupyter

Das Timeout sollte ignoriert werden und die Installation wird mit Erfolg durchgeführt.


Die andere Sache, die für mich funktioniert hat, war die Aktualisierung von pip3, die in den Ubuntu-Repositories ist ziemlich alt: 8.1.1 und die letzte Version zum Zeitpunkt des Schreibens dieses Handbuchs ist: 9.0.1. Ich schlage diese Methode einfach vor, weil Sie pip3 nicht jedes Mal mit --default-timeout ausführen müssen, wenn Sie versuchen, ein neues Paket zu installieren, und natürlich können Sie auch einen Alias ​​verwenden;) für was auch immer Sie.

Übrigens, ich bin kein Fan von der Installation von python -Paketen als Root, daher schlage ich vor, den Schalter --user zu verwenden, um das Paket lokal zu installieren, aber wenn Sie versuchen, es breit zu machen System verfügbar, dann mit Sudo gehen.

pip3 install --upgrade pip --user

Und wenn Sie den gleichen Fehler erhalten, können Sie ihn jetzt beheben. Verwenden Sie einfach den Schalter --default-timeout, um pip zu aktualisieren.

Jetzt sollte es fehlerfrei funktionieren:

pip3 install jupyter --user
4
Ravexina