インターネット接続なしで Python パッケージをインストールする

インターネット接続なしで Python パッケージをインストールする

接続可能なマシンで Python パッケージをダウンロードして転送し、インターネットに接続できない環境へインストールする方法を解説します。

Takahiro Iwasa
3 min read

インターネットに接続できないマシンへ Python パッケージをインストールするには、別のマシンでパッケージと依存関係をダウンロードし、オフライン環境へ転送します。この作業は 3 つのステップで行います。

オンライン環境でパッケージをダウンロードする

まず、インターネットに接続できる環境で pip download コマンドを使い、必要な Python パッケージをダウンロードします。

Terminal window
pip install boto3
pip freeze > requirements.txt
pip download --dest packages -r requirements.txt

パッケージとその依存関係が packages ディレクトリに保存されます。

パッケージをオフライン環境へ転送する

ダウンロードしたパッケージをアーカイブにまとめ、scp などの安全なツールで対象環境へ転送します。

Terminal window
tar cvzf packages.gz ./packages
# Transfer the archive to the offline environment

オフライン環境でパッケージをインストールする

オフライン環境でアーカイブを展開し、--find-links--no-index を指定して pip install を実行します。

Terminal window
tar xvzf packages.gz
pip install -r requirements.txt --find-links packages --no-index

--find-links オプションはパッケージが格納されているローカルディレクトリを指定し、--no-index は pip が PyPI のインデックスへアクセスしようとするのを防ぎます。

まとめ

pip download で必要な配布物を取得し、packages ディレクトリを転送してから、--find-links--no-index を指定してインストールします。インストール中にオフライン環境からネットワークへ接続する必要はありません。

--find-links はローカルの packages ディレクトリを検索対象に追加し、--no-index は PyPI への問い合わせを無効にします。

デフォルトの pip download は、実行元のマシンに合う配布物を解決します。オンライン環境とオフライン環境が異なる場合は、--platform--python-version--implementation--only-binary=:all: を指定し、オフライン環境で利用できるホイールを取得してください。

About the author

Takahiro Iwasa

Takahiro Iwasa

Software Developer

This blog shares technical notes from hands-on projects—architecture, implementation, and AWS service integrations.