0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

古めのWSLに pandas をオフラインインストールする

Posted at

結論

サンプルコード

python -m pip install --no-index pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl pytz-2023.3.post1-py2.py3-none-any.whl numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl python_dateutil-2.8.2-py2.py3-none-any.whl six-1.16.0-py2.py3-none-any.whl

WSLの Ubuntu 18.04 LTS (bionic) には、上記で入りました。

ダウンロード

PyPI (Python Package Index)は、pip する際の参照先でパッケージを配布している所らしいです。

whl というファイルが pip でのパッケージファイルのようです。
pandas のwhlを検索してダウンロードしておきます。また、インストールしようとすると依存関係でエラーが出るので、必要なパッケージを都度DLする。
pandas-1.1.5のあたりでは pytz, numpy, python_dateutil, six が依存関係のようなので、それぞれDLしました。
大きめのライブラリはプラットフォーム依存となっていて、後述のように、選択肢が複数ある事に注意し、プラットフォームにあった物をDLする。

エラー例1

error.
[file name].whl is not a supported wheel on this platform.

このようなエラーが出た場合は、そのファイルが対応しているプラットフォーム用ではない。

$ python
>>> from pip._internal.pep425tags import get_supported
>>> get_supported()

上記で、対応している物がリストアップされます。
ちなみに概ねPythonバージョンと一致するようです。

  • cp36: Python 3.6
  • cp311: Python 3.11

あとは、マシンのプラットフォームで一致するものを選でDLする。

  • musllinux: muslというライブラリが使える場合のLinux?
  • manylinux1: ほとんどのLinux
  • manulinux2010: 上記同様だが 1 と 2010 の違いはよく分からない。カーネルバージョンに関係?
  • win_amd64: x86系 64bit CPU / OS
  • win32: x86系 32bit CPU / OS
  • aarch64: ARM64系
  • i686: Pentium III 時代のCPU?
  • x86_64: x86 / x64系 (32bit, 64bit OS共通?)
  • macosx: mac OS (Mac OS X)

など。
WSLの Ubuntu 18.04 の 場合、cp36, manylinux1, x86_64 の物で行けました。
なお古いバージョンは「リリース履歴」のリンクから辿ったあと、メニューからDLページに行けました。

エラー例2

error.
Could not find a version that satisfies the requirement pytz>=2017.2 (from pandas==1.1.5) (from versions: )
No matching distribution found for pytz>=2017.2 (from pandas==1.1.5)

以下のように順次入れようとすると、2,3個目あたりからこのエラーで躓く。
一見、依存関係をクリアしているように見えるが、
--no-indexを使ってオフラインインストールする場合、インストール済みの依存関係も見に行かなくなるようなので、ページ最初のコードのように、依存関係のあるパッケージを全て1ラインで列挙する必要がある。

# これは途中でエラーになります。
python -m pip install --no-index six-1.16.0-py2.py3-none-any.whl
python -m pip install --no-index python_dateutil-2.8.2-py2.py3-none-any.whl
python -m pip install --no-index numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl
python -m pip install --no-index pytz-2023.3.post1-py2.py3-none-any.whl
python -m pip install --no-index pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl

参考にさせて頂いたサイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?