事象
以下のように、例えば会社のマシンからだとネットワークが遮断されていることがあるため pip install が使えないことがある。
[Errno 101] ネットワークに届きません
実行例
[root@myhost ]$ pip3.6 install numpy
Collecting numpy
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f5facea9be0>: Failed to establish a new connection: [Errno 101] ネットワークに届きません',)': /simple/numpy/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f5facea9828>: Failed to establish a new connection: [Errno 101] ネットワークに届きません',)': /simple/numpy/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f5facea9ef0>: Failed to establish a new connection: [Errno 101] ネットワークに届きません',)': /simple/numpy/
^COperation cancelled by user
回避策
.whlファイルを利用するとpythonのライブラリをインストールすることが可能
この公式サイトから該当するライブラリを検索してダウンロードしよう
-
PyPI · The Python Package Index
pypi.org
.whlファイルを適当な場所に配置し、以下コマンドでインストールをする
pip3.6 install --no-deps <.whlファイル名>
実行例
[root@myhost ]$ pip3.6 install --no-deps numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl is not a supported wheel on this platform.
[root@myhost ]$ pip3.6 install --no-deps numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl
numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl is not a supported wheel on this platform.
is not a supported wheel on this platform エラー
このようなエラーが発生する場合、ダウンロードする .whlファイルが間違っているので正しいファイルをダウンロードし直す必要がある。
使用している環境がサポートしているバージョンを確認するためのコマンドは以下。
from pip._internal.pep425tags import get_supported
get_supported()
実行例
[root@myhost ]$ python3.6
Python 3.6.9 (default, Nov 17 2019, 01:34:44)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pip._internal.pep425tags import get_supported
>>> get_supported()
[('cp36', 'cp36m', 'manylinux1_x86_64'), ('cp36', 'cp36m', 'linux_x86_64'), ('cp36', 'abi3', 'manylinux1_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp36', 'none', 'manylinux1_x86_64'), ('cp36', 'none', 'linux_x86_64'), ('cp35', 'abi3', 'manylinux1_x86_64'), ('cp35', 'abi3', 'linux_x86_64'), ('cp34', 'abi3', 'manylinux1_x86_64'), ('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'manylinux1_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'manylinux1_x86_64'), ('cp32', 'abi3', 'linux_x86_64'), ('py3', 'none', 'manylinux1_x86_64'), ('py3', 'none', 'linux_x86_64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
出力されたバージョンと合致する.whlファイルをダウンロードし直すと、以下のようにインストールが成功する。
実行例
[root@myhost ]# pip3.6 install --no-deps numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl
Processing ./numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.19.5
You are using pip version 18.1, however version 21.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.