【導入編③】社内プロキシの設定

会社などのPCで『conda update』や『conda install』コマンドを実行したときに、
HTTPError“や”PROXYError“が発生し、正常に実行できないことがあります。

もし自宅PCであれば同じやり方で上手くいくが、会社PCだと上手くいかないのであれば、
社内プロキシの設定が適切でない可能性があります。

エラーが発生していなければ、設定する必要はありません。
プロキシとは?

PCからインターネット上のWebサイトにアクセスする際に中継するサーバーをプロキシサーバーといいます。
通常、自宅では設定されていませんが、会社や学校などでは設定されていることがあります。

プロキシサーバーはセキュリティの観点から設定されていることが多いようです。
社内PCからWebサイトを閲覧する際にも自動的にプロキシサーバーを経由して、アクセスしています。

Minicondaでエラーが発生する理由は?

プロキシサーバーを通過するには、認証情報が必要になります。

例えば、社内PCからWebサイトを閲覧するとき、多くの場合あらかじめ認証情報が設定されており、プロキシサーバーを通過することができます。

Minicondaでプロキシサーバーを通過するには、その認証情報をあらかじめ設定しておく必要があります。

Minicondaのプロキシ認証設定

設定方法は【導入編②】conda-forgeの設定とほとんど同じです。

Minicondaの設定ファイル「.condarc」を探す

「.condarc」というファイルにプロキシ設定を追加するため、
まずはファイルがあるかどうか確認する。(以下どちらかのフォルダにある可能性があります。)

①C:¥Users¥[ユーザー名]
②C:¥Users¥[ユーザー名]¥miniconda3

①に置いてある場合は②に移動させておきましょう。
(必須ではないですが、miniconda関連のファイルはminicondaのフォルダに入れておいたほうがわかりやすいと思います。)

「.condarc」ファイルの作成

「.condarc」が見つからない場合、「Anaconda Prompt」で下記コマンドを実行し、ファイルを作成する。

cd C:¥Uses¥[ユーザー名]¥miniconda3
copy nul .condarc
「.condarc」に設定を追加する

新規作成または既存の「.condarc」ファイルをメモ帳やテキストエディタで開く。
以下の内容を追加する。(もし既存の内容があれば、下に追加する。)

proxy_servers:
  http: http://[プロキシアドレス]:[ポート番号]
  https: http://[プロキシアドレス]:[ポート番号]

プロキシアドレスポート番号の確認方法は以下になります。(Windows10の場合)

  1. スタートメニューから設定を開く。
  2. ネットワークとインターネットを開く。
  3. 左下あたりのプロキシを開く。
  4. 自動プロキシセットアップの「セットアップスクリプトを使う」、
    または手動プロキシセットアップの「プロキシサーバーを使う」にチェックが入っていることを確認する。

アドレス」と「ポート」の内容をそのまま「プロキシアドレス」と「ポート番号」の部分に入力します。

会社などでは自動設定となっていることがよくあります。
手動設定に比べると「プロキシアドレス」と「ポート番号」を確認する手順が少し面倒になります。

セットアップスクリプトの中身を確認する

まずスクリプトのアドレスに入力されているアドレスをブラウザのアドレスバーに入力します。
pacファイルの中身がブラウザに表示されるはずです。(私はEdgeを使用しました。)

開いた中身を確認しましょう。(コードをしっかりと理解する必要はありません。)

そもそもプロキシの自動設定をする理由

誰がどこへアクセスするかによって、プロキシサーバを通さなかったり、プロキシアドレスを変えたりするために設定しています。

誰が」はPCのIPアドレスなど、「どこへ」はアクセス先のドメインなどで判断しています。

PCのIPアドレス(誰が)を確認する

Windows10の場合、設定→ネットワークとインターネット→ネットワークの状態のプロバティを開き、
IPv4アドレスに記載されているアドレスを確認します。

「どこへ」については、会社の場合は「社内やグループ会社」と「それ以外など」に分けていることが多く、
「Anaconda Prompt」からアクセスする先はそれ以外となるので、特に確認することはありません

pacファイルの中身からプロキシアドレスとポート番号を確認する

pacファイルの中身から自分のIPアドレスで社外にアクセスすると、どんなプロキシアドレスおよびポート番号になるのか確認します。
例えば、自分のIPアドレスが「192.168.11.11」であれば、「192.168」で検索します。
もし「192.168.0.0」などが検索に引っかかった場合、その近く以下のようなコードがないか確認します。

return "PROXY 192.168.1.100:8080"

もし見つかれば、その周辺のコードは次のような内容になっている可能性が高いです。

自分のIPアドレスが「192.168.0.0」であれば、プロキシアドレスは「192.168.1.100」、ポート番号は「8080」とする。
※「192.168.0.0」の0はワイルドカード(0の部分はなんでもいい)を表しています。

コードの雰囲気が上記のような内容になっていそうであれば、プロキシアドレスポート番号を「.condarc」に入力しましょう。
(もし間違っていても、うまく繋がらないだけなので試してみましょう。)

プロキシ設定の確認

「.condarc」を保存したら、「Anaconda Prompt」で下記コマンドを実行し、プロキシ設定が反映されているか確認します。
STEP.3で入力した内容が反映されていればOKです。

conda config --show proxy_servers
プロキシ認証の通過テスト

改めて下記コマンドを実行します。途中でエラーが発生しなければ設定完了です。

conda upadate --all
それでもエラーが発生する場合

上記プロキシ設定にIDとパスワードの情報を追加する必要がある可能性があります。
追加する場合は、「.condarc」の入力内容を以下のように変更します。

proxy_servers:
  http: http://[ID]:[パスワード]@[プロキシアドレス]:[ポート番号]
  https: http://[ID]:[パスワード]@[プロキシアドレス]:[ポート番号]

IDおよびパスワードについては、心当たりのあるものを入力し、
それでもエラーとなる場合は、社内のシステム担当部門へ問い合わせるしかありません。

もしセキュリティの面から上記パスワードを定期的に変更しないといけない場合には、
変更するたびに「.condarc」の中身を変更する必要がありますので、覚えておきましょう。

そして、もうひとつ初期設定をしておく必要があるので、次回説明します。

【導入編④】仮想環境の作成