Anaconda3のプロキシサーバー設定方法:Windows10 + Powershell


はじめに

 Anaconda3をインストールした場合のプロキシサーバの設定を行う方法を書いておきます。

 社内などのプロキシサーバ経由で pip コマンド や conda コマンドでPythonの各種モジュールをインストールする場合、プロキシ認証を通す ことが必須になりますので、どなたかのお役に立つのでは無いかと思います。

 特にハマりやすいOSがWindows10だと思います。ですので、この記事では、Windows10上でターミナルにPowershellを使った場合を書いておきます。

 思い込みや間違いなどがあるかもしれませんが、そのような場合はどうか生暖かい目でみていただき、ご容赦をお願いいたします。

Anaconda Powershell Promptを起動します

Windowsスタートボタン ▶️ Anaconda3 (64bit) ▶️ Anaconda Powershell Prompt (anaconda3)

Pythonインタプリタで設定されているプロキシを調べます

powershell
> python
>>> import urllib.request
>>> urllib.request.getproxies()

以下のように表示されていれば、プロキシサーバは登録されています。
・・・・・のはずなのですが、私の場合は、接続エラーとなりました。

powershell
{'http': 'http://proxy.aaa.bbb.co.jp:8080', 'https': 'https://proxy.aaa.bbb.co.jp:8080', 'ftp': 'ftp://proxy.aaaa.bbb.co.jp:8080'}
  • proxy.aaa.bbb.co.jp : プロキシサーバー名
  • 8080 : プロキシポート番号

  • ctrl+ZでPythonインタプリタを抜けます

Anacondaにプロキシ設定をします

Anacondaのルートフォルダに.condarcファイルを作成します

.condarcファイルが既にある場合には作成する必要はありません
ルートフォルダは以下のパスになります

Windows10の場合

  • インストーラで推奨されている ログインユーザーのみ でインストールした場合
    • C:\Users\[ユーザー名]\Anaconda3
  • グルーバルインストールした場合
    • C:\Program Files\Anaconda3

macOSの場合

私のmacProで調べてみましたが、どうやら、以下がルートディレクトリのようです。

  • /Applications/anaconda3

.condarcを作成する場合には以下のようなコマンドを打ちます

powershell
> cd C:\Users\[ユーザー名]\Anaconda3
> New-Item hoge
> Rename-Item hoge .condarc

作成した.condarcに以下のようにプロキシ設定を記入します

powershell:.condarc
proxy_servers:
  http: http://id:[email protected]:8080
  https: https://id:[email protected]:8080
  • id : プロキシサーバの認証ID
  • password : プロキシサーバの認証パスワード
  • proxy.aaa.bbb.co.jp : プロキシサーバー名
  • 8080 : プロキシポート番号

設定が反映されているか確認するため、コマンドラインから以下のコマンドを入力します

powershell
> conda config --show

proxy_servers 記述のところに設定したプロキシがあれば設定完了です

powershell
proxy_servers:
  http: http://id:password@proxy.aaa.bbb.co.jp:8080
  https: https://id:password@proxy.aaa.bbb.co.jp:8080

プロキシ認証を通ったかテストしてみましょう

pip コマンドそのものをアップデートしてみましょう

powershell
> python -m pip install --upgrade pip

以下のように上手くアップデートできたら、プロキシ認証は通っています

powershell
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/2e/df11ea7e23e7e761d484ed3740285a34e38548cf2bad2bed3dd5768ec8b9/pip-20.1-py2.py3-none-any.whl (1.5MB)
     |████████████████████████████████| 1.5MB 6.8MB/s
Installing collected packages: pip
  Found existing installation: pip 19.2.3
    Uninstalling pip-19.2.3:
      Successfully uninstalled pip-19.2.3
Successfully installed pip-20.1

アップデートされた pip コマンドを使ってみましょう

Webアプリケーションフレームワーク Django をインストールしてみます

powershell
> pip install django

こんな風に表示されたら成功です

powershell
Collecting django
  Downloading Django-3.0.6-py3-none-any.whl (7.5 MB)
     |████████████████████████████████| 7.5 MB 3.3 MB/s
Requirement already satisfied: pytz in c:\users\p9370347\anaconda3\lib\site-packages (from django) (2019.3)
Collecting sqlparse>=0.2.2
  Downloading sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
     |████████████████████████████████| 40 kB 2.6 MB/s
Collecting asgiref~=3.2
  Downloading asgiref-3.2.7-py2.py3-none-any.whl (19 kB)
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.2.7 django-3.0.6 sqlparse-0.3.1

Anaconda Navigator の最新化でも試してみましょう

powershell
> conda update anaconda-navigator
> anaconda-navigator --reset

 万歳!マンセー!うまくいきました。プロキシサーバ越えの沼から脱出できていますね。

 追記

Windowsでは以下のようにPowershellコマンドを打てば、OSのユーザー環境変数としてプロキシサーバの設定ができます。私は最近この方法しか使っていません。なお。システム環境変数として設定するのはWindowsを開発環境として使っている場合にはあまり必要が無いかもしれませんね。

ユーザ環境変数でProxyサーバを設定するコマンド
PS> [System.Environment]::SetEnvironmentVariable("HTTP_PROXY","http://id:[email protected]:8080","User")
PS> [System.Environment]::SetEnvironmentVariable("HTTPS_PROXY","http://id:[email protected]:8080","User")

以上、ご覧いただきましてどうもありがとうございました。