Pythonのpip installが使えない時のプロキシとSSL無視

※記事内に広告が含まれる場合があります。
pipでライブラリをインストール テクノロジー
スポンサーリンク

私がPython環境に必要なライブラリをインストールする時はライブラリが多くて簡単なpip(Pythonのパッケージ管理システム)を使用しています。

Python初心者の頃からpipを利用していますが、主要ライブラリはpip対応が多く、pipの利用環境さえ整えばpip install ライブラリ名 のシンプルなコマンドでインストールできます。

ただ、私がPYthon始めたての頃はpipインストールがうまくいかず苦労した経験があります。

・他のPCではpipできるのに私の今のPCではpipが使えない
・今までPIPコマンド使えていたのに急に使えなくなった

後から判明した上記の原因はpipを利用できる環境構築において「プロキシ」や「証明書の認証」に対応できていなかったためです。プログラム初心者にとって「プロキシ、証明書の認証」と言われてもなかなか難しいですよね。

私自身もインストールできない事象にはまり、対策方法を調べつく今ではpip installで困ったことはありません。

今回の記事では私が調べつくした対応方法について共有し、皆さまのPC環境でpip installが簡単にできることを目指します。

こんな人のお役に立てます
  • pipを使ったライブラリのインストール方法がわかる
  • pipが使えない時の対応策がわかる

Pythonブログがメインですが練馬区情報も発信しておりますので興味ある方はご覧くださいませ。
【現地レポ】ハリーポッターとしまえんに行く方法と現地の雰囲気を紹介
【現地レポ】豊島園跡地の練馬城址公園を地図や写真で解説

スポンサーリンク

PIPの基本操作

pipは「Pip Installs Packages」の略語でPythonのライブラリを簡単にインストール、アップグレード、アンインストールすることができます。例ではライブラリのnumpyをもとに説明します。

既存ライブラリとバージョン確認の方法

コマンドプロンプトでpip listと入力すると既存環境にインストール済のライブラリが左側に表示され、右側にバージョン番号が表示されます。

pip list

インストールの方法

pip install ライブラリ名でインストールできます。

pip install numpy

バージョンを指定したインストールはpip install パッケージ名==バージョン

pip install numpy==1.18.0

ここで「いつも最新バージョン入れればいいのでは?」と思う方もいるでしょう。

確かに最新バージョンであれば今までのバグの修正や最新機能が導入されていて便利に使える点もあります。しかし、現実ではバージョンが違うとうまく動作しないことがあり、確実に動作するバージョンに合わせてインストールする方が調査時間を省くことができます

アップグレードの方法

最新バージョンにアップグレードするにはpip install –upgrade ライブラリ名

pip install --upgrade numpy

upgradeの短縮表記でも可能

pip install -U numpy

アンインストールの方法

不要ライブラリのアンインストールはpip uninstall ライブラリ名

pip uninstall numpy

削除する場合はターミナルから行いましょう。削除時にY/Nと聞かれることがあり、jupyter notebook経由からだとY/Nが表示されずに処理が終わらないケースがあります。

公式pythonのpip説明を参考で貼っておきます。

Jupyter Notebookでpipを使う方法

Jupyter Notebookでpipを使う場合は先頭に「!」を付けるのが特徴です。

■コマンドプロンプトから実行

pip install --upgrade pip

■Jupyter notebookのセルから実行

!pip install --upgrade pip

pipが使える環境か確認

コマンドプロンプトで上記の「pip install –upgrade pip」コマンドを入力してください。

インストールできればpipが使える環境です。また、Requirement already satisfiedが出た場合は既にライブラリがインストール済なのでpipが使える環境です。

一方pipが使えない場合として下記表示が続き一向にインストールし始める気配がないパターンです

WRRNING:Retrying(Retry(total=4,connect=None・・・・・・

このメッセージはプロキシ制限によりpipコマンドが利用できないことを示しています。

お使いのコンピュータが企業ネットワークのプロキシ経由となる為、ライブラリのダウンロードに制限がかかっているのが原因です。この問題の切り分けをする方法はネットワーク回線を会社依存環境以外にした場合にインストールが可能になります。

上記と異なり、今までpipを利用できていたが急に使えなくなった場合です。

大半は「certificate verify failed」メッセージが表示され、証明書の認証エラーによりpipが利用できなくなっています。これは証明書の認証を無効にすることで再度pipを利用できるようになります。

それでは上記2点の対処方法についてご紹介します。

pip installができない時の対処法

PROXY環境下でpipを使う方法

企業ネットワークのプロキシ環境でpipを利用する場合は環境変数を設定し、PCを再起動する必要があります。

以下に環境変数の設定方法を説明します。

  1. パソコンの「設定」を開く
  2. 「検索」バーに「環境変数」と入力し、検索結果の中から「環境変数の編集」を選択
  3. 「システム環境変数」セクションの下部にある「新規作成(N)」をクリック
  4. 「HTTP_PROXY」と「HTTPS_PROXY」の2つの環境変数を設定します。変数値は会社のプロキシサーバーのアドレスなので会社のネットワーク管理者にお問い合わせください。

【記入例】
変数名:HTTP_PROXY
変数値:http://windowsid:windowspass@proxy.doml
    ※proxy.doml部分は会社環境で違うので会社のPC担当へ確認してください。

変数名:HTTPS_PROXY
変数値:http://windowsid:windowspass@proxy.doml(同上)

環境変数を設定したらPCを再起動してください。再起動しないと認識されません。

上記手順が完了しますと、プロキシサーバーを経由してpipコマンドを利用できますのでpip installでお試しください。

証明書のSLL認証エラーを無効にしてpipを使う方法

SSLインスペクション下でpipを使う方法

突然pipが使えなくなった場合の証明書の認証対応です。

SSLインスペクションが有効の環境でHTTPS通信が傍受されている場合はpip install が証明書エラーになるので接続先を信頼する処理を入れる必要があります。

具体的な方法はPIPコマンドに「pypi.python.org, files.pythonhosted.org, pypi.org 」のドメイン全てを信頼済みにする処理を追加します。

pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install <インストール文>

pipのupgradeを例に上記コードを置き換えると下記になります。

pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org install pip install --upgrade pip

こちらを実施してインストールできれば完了です。

ただ、毎回この長いコードを書くのは手間ですので、元のpip install ライブラリ名で対応できる方法を次にご紹介します。

pip.iniを作成して–trusted-hostを省略する

“%appdata%¥pip” かユーザーのホームディレクトリ(例:c:user\yourname\pip.ini)に下記の pip.ini ファイルを置くことで長いコードを入力せずにpipが使えるようになります。

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org

そのpipコマンドWindowsに対応していますか?

最後に上記を実施しても上手くinstallできないのはpipコマンドがLinuxには対応しているがWindowsに対応していない可能性があります。

これだけは私にも対応する手段がなく誰かがWindows用のpipコマンドを作成するのを待つしかないです。過去例でいうとmecab pythonが該当します。

Linuxが利用できる方であればLinuxの方がライブラリのインストールが楽なので環境構築につまづくことも少ないと思いますが、Windowsの操作感が好きで利用している方もいると思いますので該当のpip コマンドがWindowsに対応しているか確認するとよいでしょう。

最後に私がPythonの勉強をして入門者から中級者までにこの本1冊あれば習得できるおすすめ本記事も書いております【本1冊で】Python入門から中級までなれるおすすめ本ご興味がある方は御覧くださいませ。

pip installができるようになってPythonを試したい方へ

Pythonに関する記事をいくつか作成しておりますのでご興味がありましたらご覧くださいませ。
SeleniumのWebdriver自動更新とブラウザ操作のPythonコマンド
レーベンシュタイン距離アルゴリズムをPythonで実行
Pythonを利用した同一画像検知pHashとhashlib
Pythonでテキストクレンジング全角半角ひらがなかたかな大文字小文字
Pandasのpivot_tableで複数項目を選択してaggfuncで集計
PythonからAccess(アクセス)マクロを実行
など

コメント

タイトルとURLをコピーしました