pip installでプロキシエラーになる問題を解決する方法

  • このエントリーをはてなブックマークに追加

Pythonはpipを使う事で様々なライブラリを簡単にインストールすることが出来ますが、逆にpipインストールが出来ない環境だとPythonの利点が半減します。ここでは社内プロキシ等でpipインストールエラーになる問題を解決する方法を紹介します。

こんにちは。wat(@watlablog)です。ここではpipがプロキシエラーになる問題を解決します

プロキシエラーとは?

エラーの内容

例えば、pythonのグラフ描画ライブラリであるmatplotlibをインストールしようとした時、

最も簡単な方法は以下のコマンドをWindowsであればコマンドプロンプトに打ち込むものです。pipについての詳細は「Pythonのパッケージ管理ツール pipの使い方とコマンド集」に書きましたので、是非こちらもご覧下さい。

通常、うまく行けば「Successfully installed」の文字が表示され事なきを得るのですが、環境によっては以下のエラーメッセージが出ます。

Retrying (Retry~…)'ProxyError('Cannot connect to proxy~…

このメッセージが今回扱うプロキシエラーです。

プロキシエラーはサーバー環境が原因

このエラー、原因はプロキシサーバーのセキュリティでpipインストールに必要なPyPIへの接続がブロックされているだけです。しっかりした会社等、プロキシサーバーが設置され管理されている場合によく起こるエラーです。

「日々の業務改善にPythonは大変効果的だけど、自分の社内環境では入れることが出来ない!」

…となる人も割といるのではないでしょうか?

ここではそういうモチベーションの高い人のために、エラーを回避してpipインストールする方法を紹介します。

…とは言え、何も違法な事やハッキング、クラッキングをする事は無いので安心して下さい。

プロキシエラーを解決する2つの方法

①プロキシ設定をしてインストールする方法

プロキシサーバーの認証には、
①ユーザ名(例:user)
②パスワード(例:pass)
③ホスト名やIPアドレス(例:proxy.xxx.com等)
④ポート番号(例:8080)

が必要です。

これらの情報がわかっている場合、Windowsであればコマンドプロンプトに以下を打ち込むことで認証可能です。

後は通常のpip installを実行すればプロキシ認証にブロックされることなくインストールが可能になるはずです(全ての環境で確認はしていませんが)。

②オフライン環境でpipを使う方法

プロキシエラーが出たとしても、上記①~④の情報が良くわからない!という場合もあると思います。

そんな時、インターネットブラウザでPyPIが閲覧できる環境であれば、ライブラリをPyPIからダウンロードし、インターネット接続を使わないでpipインストールする方法もあります。

コマンドプロンプトから実行してプロキシエラーになっても、通常のインターネットブラウザからであればPyPIが見れるという環境も多いと思います。
PyPI公式は以下リンクです。
PyPI公式ページ:https://pypi.org/

pip installコマンドはこのWebサイトからライブラリを検索してダウンロード、インストールしているので、ダウンロードまでを手動で行おうという方法です。

以下にその方法を紹介します。

①PyPI公式ページからライブラリをダウンロードする

PyPI公式ページ(https://pypi.org/)へアクセスしたら、Python開発環境へインストールしたいライブラリ名を検索窓に記入し、検索します。

ここではmatplotlibの場合で説明していきます。

PyPI公式ページでライブラリを検索

検索結果から目的のライブラリパッケージを選択します。
しかし、似たような名前のパッケージが沢山あり間違いやすいので、説明を読む若干の英語力が必要になります。

パッケージを選択する図

遷移した先のページでは左上に「pip install matplotlib」で入れることができるとわかるのでここで安心し、Download filesをクリックします。

Download filesをクリック

Download filesの中から、自分のPC環境に合わせたインストーラを選択し、名前を付けて任意の場所に保存します。

ここで、cpとはPythonのバージョン(Python3.7ならcp37)です。以下の画像ではWindows64bitの場合のインストーラである.whlファイルを選択しています。

インストーラをダウンロード

②コマンドプロンプトからオフラインのpip installをする

続いてコマンドプロンプトを開き、カレントディレクトリを先ほどインストーラをダウンロードしたフォルダにするため、以下のコマンドを打ち込み実行しましょう。

カレントディレクトリが移動したら、最後に以下のコマンドでpip installします。「--no-deps」が付くことでPyPIのWebサイトを参照しなくなり、ダウンロードしてきたインストーラからインストールされるようになります。

この方法はオフラインでインストールが出来るため、プロキシエラーを解決するだけでなく、例えば組織のネットワークに繋いでいないPCにもインストールすることができます

Windowsのサポート切れバージョン等の理由で、まだ使えるのにセキュリティ上社内ネットワークに繋いじゃいけないPCとかありませんか?

方法②の注意点

但し、この②の方法でインストールをしていると、1つやっかいなこともあります。それは、手動でインストールしなければいけないライブラリが増えるという点です。

例えば、matplotlibをpip installすれば通常はそれでPythonによるグラフ描画がすぐできるのですが、ライブラリをimportしてコードを実行するとModuleエラーが出る場合があります。

以下に僕が実際に手動インストールした時に足りなかったライブラリを記載しておきます。コード上でimportして実行を繰り返せば、何が足りないかはエラーメッセージで表示されるので、必要無いかも知れませんが参考までに。

matplotlib

・matplotlib
・cycler
・kiwisolver
・pyparsing
・six

pandas

・pandas
・xlrd

scikit-learn

・scikit-learn
・pytz
・python-dateutil
・joblib

まとめ

pip installで発生するプロキシエラーは組織等で設定しているプロキシサーバーが原因と考えられます。ここではエラーを回避する2つの方法を紹介しました。

Pythonは便利なライブラリをインストールしないとあまり旨味が無いと言って過言ではないと思います。

どんな環境であろうとも、是非今回の方法で自由にライブラリをインストールして有意義なPython Lifeを楽しみましょう!

どんな場所でも、Excelより高度で高速なPythonプログラミングによる情報処理をやってみましょう!Twitterでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメント

コメントを残す

*