web-dev-qa-db-ja.com

pipはReadTimeoutErrorで失敗します

pipを使用してjupyter notebookをインストールしようとしているため、最初にpip3をインストールしました。

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

それから私は走った:

Sudo pip3 install jupyter

パッケージのダウンロード中notebookは数秒間待機しますが、多くのエラーで失敗します。エラーは次のようになります。

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.

私のUbuntuバージョンは16.04(Xenial)で、かなり遅いインターネット接続で実行しています。

4
Ravexina

notebookパッケージサイズは6.9 MB前後であり、低速のインターネット接続で実行している場合、タイムアウトのためインストールが失敗する可能性が高くなります。

pip3を更新することで問題を修正しましたが、別の方法も提案します。pip3をアップグレードできない場合は、これを使用してください。これでも動作します。

--default-timeoutスイッチを使用してこの問題を修正できます。例:

Sudo pip --default-timeout=1000 install jupyter

タイムアウトは無視され、インストールは成功します。


私のために働いた他のことは、pip3を更新することでした。Ubuntuリポジトリにあるものはかなり古いです:8.1.1、このガイドを書いている時点での最後のバージョンは9.0.1です。新しいパッケージをインストールしようとするたびにpip3--default-timeoutを実行する必要がないため、この方法をお勧めします。もちろん、別名も使用できます;)君は。

ちなみに、私はpythonパッケージをルートとしてインストールするのが好きではないので、--userスイッチを使用して自分でローカルにインストールすることをお勧めしますが、このパッケージを広くしようとしている場合システムが利用可能な場合、Sudoを選択します。

pip3 install --upgrade pip --user

また、同じエラーが発生した場合は、その修正方法がわかったので、--default-timeoutスイッチを使用してpipをアップグレードします。

これでエラーなく動作するはずです。

pip3 install jupyter --user
4
Ravexina