【Python】普通のpip installが通らない環境にローカルでモジュールをインストールする方法

Pythonの魅力のひとつは、豊富なライブラリと思います。
pip install <インストールしたいモジュール>で簡単に拡張できるのが素晴らしいです。
でも、それができなかったら・・・?

今回は、普通のpip installが通らない環境でローカルでモジュールをインストールする方法をご紹介したいと思います。

できないケースとして多いのは次と思います。
・インターネットに繋がっていない
・繋がっているがアクセス制限がある
そこで次のようにして、問題を解決したいと思います。

やること
・普通のpipが使える環境でモジュールをダウンロードする
・インストールしたい環境にコピーする
・ローカルでモジュールをインストールする

それでは順番に見ていきましょう!

目次

順番にみていく

前準備

前準備です。
次のようなディレクトリ構成を作ります。

requirement.txtにインストールしたいモジュールを書いておきます。
windowsバッチ処理でpip download・installをします。
繰り返し使えるのでwindowsバッチ処理にしましたが、コマンドラインから直接でもOKです。

それぞれの役割

packages:
 フォルダです。
 モジュールインストールに使うパッケージを格納します。
download.bat:
 windowsバッチ処理です。
 pipコマンドで所望のモジュールのパッケージをダウンロードさせます。
local-install.bat:
 windowsバッチ処理です。
 あらかじめダウンロードしておいたパッケージから、pipコマンドでインストールします。
requirements.txt:
 所望のモジュールのリストです。
 上記の、ダウンロードしたいモジュール、インストールしたいモジュールを指定します。

前提は次です。
・Pythonが既にインストールされている
・pipが十分新しいものがインストールされている

もう少し詳しく見ていきましょう。

普通のpipが使える環境でモジュールをダウンロードする

「download.bat」ファイルに次を書き込みます。(※名前は適宜変更ください)

pip download -d ./packages -r requirements.txt
pause

requirements.txtファイルを作成し、次を書き込みます。
インストールしたいモジュール名ですね。
「#」でコメントにしたものは無視されます。Pythonプログラムと同じです。

matplotlib
#xml.etree.ElementTree
requests
#json
schedule
opencv-python

同じ階層に「packages」フォルダも作っておきます。

「download.bat」をダブルクリックして実行します。

実行結果の例がこちらです。
インストールしたいモジュールと、関連パッケージをダウンロードしてくれます。
その結果、「packages」フォルダに必要ファイルが入っていればOKです。

インストールしたい環境にコピーする

次にインストールしたい環境にコピーします。
USBメモリでも、クラウドでも、なにがしかのプログラムでファイル転送でも。
やりやすい方法でOKです。

はじめに作ったディレクトリ構成を丸ごとコピーしてください。

ローカルでモジュールをインストールする

「local-install.bat」を作成し、次を書き込みます。(※名前は適宜変更ください)

pip install --no-index --find-links=./packages -r requirements.txt
pip list
pause

「local-install.bat」をダブルクリックして実行します。

実行結果の例がこちらです。
あらかじめダウンロードしたパッケージを参照して、所望のモジュールをインストールします。
最後に、インストール済みのモジュールをリストアップさせています。

所望のモジュールがリストアップされていればインストール成功です!
もし、リストに所望のモジュールが無ければ失敗です。
インストール対象を減らしたり、別の手段でモジュールをインストールしたりが必要になります。

以上になります。
この記事がお役に立てれば幸いです。
それでは、読んで頂きありがとうございました!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次