Python

【会社向け】オフラインでpip installしてプロキシ回避する方法

python pip install オフライン プロキシ 会社
会社員
会社員
Pythonのライブラリを導入したいけど、プロキシに引っかかってインストールできないな…。

ネットワークに接続せず、オフラインでインストールする方法はないかな…。

この記事では、上記のような悩みを解決していきます。

 

この記事の想定読者

  • Pythonのライブラリをオフラインで導入したい人
  • プロキシに引っかかってPythonライブラリがインストールできない人

想定している読者は、上記のとおりです。

 

この記事では、「オフラインでpip installしてプロキシ回避する方法」について書いていきます。

 

ネットワークの厳しい会社だと、「pip install」でタイムアウトになり、ライブラリがインストールできなくて大変ですよね。

この記事を読み終えれば、オフラインでPythonライブラリを導入する方法が分かるようになりますよ!

 

【Python】オフラインインストールの前提条件

 

Pythonライブラリを、オフラインでインストールするための前提は、下記のとおりです。

PythonのPATHを通してある

これだけ揃っていればOKですね。

 

もしかすると、pipのバージョンを最新にしなければいけません。

確定ではないので、まずはPythonのPATHを通し終えたら、これから紹介する方法でオフラインインストールを試してみてください。

 

【会社向け】オフラインでpip installしてプロキシ回避する方法

 

「会社勤めで、pip installしようとすると、外部接続できなくてタイムアウトしてしまう…。」

 

上記のような状況に陥っている場合には、下記の手順を踏めば解決できます。

  1. whlファイルをダウンロードする
  2. オフラインでpip installする
  3. 関連ライブラリも同様の手順でインストールする

さっそく見ていきましょう。

 

STEP1 : whlファイルをダウンロードする

 

まずは必要なライブラリのwhlファイルをPyPIからダウンロードしてきましょう。

外部ページ >> PyPI · The Python Package Index

 

たとえば、numpyを導入したいのであれば、検索ボックスにnumpyと入力すればOKですね。

すると、下記のように(本来であれば)pip installで導入できますよと教えてくれます。

python オフラインインストール numpy

 

今は関係ない情報なのでスルーしつつ、「Download files」からファイルを選びます。

python オフラインインストール numpy

 

各バージョン・ビット数に合わせたwhlファイルがあるので、ダウンロードしましょう。

 

たとえば、python3.6/64bitwindowsを使っているなら、下の画像のwhlファイルになりますね。

numpy-1.17.0-cp36-cp36m-win_amd64.whl

numpy whlファイル バージョン

ダウンロード場所は、特にこだわりがなければDesktopにしましょう。

 

STEP2 : オフラインでpip installする

 

whlファイルをダウンロードしてきたら、ターミナル(ないしコマンドプロンプト)でDesktopまで移動します。

cd Desktop

 

そして、先ほどのwhlファイルを使ってインストールしていきます。

インストールするには、下記のコマンドでOKです。

pip install --no-deps whlファイル名

 

先ほど例にあげたnumpyであれば、下記のとおりになります。

pip install --no-deps numpy-1.17.0-cp36-cp36m-win_amd64.whl

 

Windowsの場合は、pip の前に「python -m」をつけてインストールしてください。

Windowsの場合だと、通常どおりインストールした場合、pipのPATHが通っていないはずです。

 

python -m pip install --no-deps numpy-1.17.0-cp36-cp36m-win_amd64.whl

このように書き換えてあげればOKです。

 

上記の手順を踏めば、ネットワークを介さずにインストールを完了できます。

 

STEP3 : 関連ライブラリも同様の手順でダウンロードする

 

ただ、今回紹介したインストール方法だと、関連ライブラリの導入ができません。

というのも、Pythonライブラリは、裏で他のライブラリを動かしている場合が多いです。

 

たとえば、PythonライブラリのKerasは、下記のようなライブラリを裏で使っています。

  • absl
  • astor
  • BeautifulSoup4
  • gast
  • google
  • Keras-Application
  • Keras-Preprocessing
  • Protobuf
  • PyYAML
  • scipy
  • tensorflow
  • termcolor
  • wrapt

上記のとおりで、普通にpip installしていれば勝手にインストールしてくれます。

 

ただ、今回紹介している「pip install –no-deps」は、関連ライブラリをインストールせず、指定したライブラリを単体で導入することで、外部接続をしないでインストールを可能にしていました

なので、Kerasのwhlファイルを普通にpip installしようとすると、失敗に終わります。関連ライブラリをネットワーク接続してインストールしようとするからですね。

 

まとめると、STEP1とSTEP2を使いつつ、関連ライブラリも単体で導入する必要があります。

若干めんどいですが、この方法が最速なのかなと思っています。

 

 

【補足】上記の手順でオフラインインストールできない場合

 

上記の手順でオフラインインストールができない場合は、冒頭でもお伝えしたとおりで、pipのアップデートが必要です。

でも、pipコマンドでアップデートしようとすると、インターネットを介すので失敗するというパラドックスです。

 

なので、オフラインでpipをアップデートする方法を紹介します。

 

オフラインでpipをアップデートする方法

  1. pipのバージョンを確認する
  2. pipのwhlファイルをダウンロードする
  3. easy installでwhlファイルをインストールする

 

STEP1 : pipのバージョンを確認する

 

まずは、pipのバージョンを確認してみましょう。

 

pipのバージョン確認

pip -V

 

上記のコマンドでpipのバージョンを確認します。windowsであれば、「python -m」をつけてから実行です。

 

本来であれば、「pip install -U pip」で完了ですが、ネットワークに繋がらないので仕方なしです。

 

pip · PyPIでpipの最新バージョンを確認してみて、「pip -V」で確認したバージョンより新しければ更新する必要があります。

逆に、pipが最新バージョンだった場合には、他の解決策があるかと思われます。

 

STEP2 : pipのwhlファイルをダウンロードする

 

それでは、pip · PyPIからwhlファイルをダウンロードします。

pipは、Pythonのバージョンやビット数に関係なく、同じwhlファイルになっていますね。

pip whlファイル

上記のように、ボクが確認した時点だと、「pip-19.2.1-py2.py3-none-any.whl」になっています。

 

STEP3 : easy installでwhlファイルをインストールする

 

それではインストールしてきたpipファイルを、インストールしていきます。

が、そのまえに、既存で入っているpipファイルをアンインストールする必要があります。

 

pipコマンドのアンインストール

pip uninstall pip

上記のとおりですね。これでアンインストールが完了したかと思います。

 

pipコマンドをアンインストールしてしまったので、「easy install」を使ってpipをインストールします。

インストールしたディレクトリまで移動してから、下記のコマンドを実行です。

easy install pip-19.2.1-py2.py3-none-any.whl

 

windowsの場合は、毎度のことながら「python -m」を忘れずにつけましょう。

 

以上で、pipのアップデートが完了です。必要なライブラリのインストールを進めてみましょう。

 

ここまでpythonライブラリのオフラインインストールについて紹介してきました。

会社での開発だと、色々な障壁があると思いますが、頑張って乗り越えていきましょう。

おしまいです。

 

おすすめの記事