インターネットに接続していない端末に Python パッケージをインストールしたいときのやり方メモ。
インストールしたいパッケージの一覧は requirements.txt
にまとまっているものとする。
Windows 10 (x86_64) + Anaconda3 環境で検証したが、他のプラットフォームでも同様にできる気がする。
オンライン端末でパッケージをダウンロードする
$ pip download --dest=src -r requirements.txt
このオンライン端末はオフライン端末 (インストール先) とプラットフォームが同じものを使う。 pip download
には --platform
というオプションがあるので、これをうまく指定すると異なるプラットフォームでもできるのかもしれないが未検証。
参考: pip download — pip documentation
src
ディレクトリを見ると、パッケージが wheel や tarball の形式でダウンロードできていることがわかる。
オフライン端末でパッケージをインストールする
オンライン端末でダウンロードしたパッケージファイルをオフライン端末にコピーし、 src
ディレクトリ以下に置いてあるものとする。
$ pip install --no-index --find-links=src -r requirements.txt
これで requirements.txt
をもとにパッケージのインストールを試みるが、PyPI (インターネット) からではなく src
ディレクトリにあるパッケージを探しに行くようになる。