認証有り無しProxy環境下でPython開発環境を構築する際のProxy設定集 for Linux/Windows (随時更新)


はじめに

Proxy(認証有り/無し)が存在するハイセキュリティな環境において、LinuxとWindowsのPython開発環境を構築した際の筆者のメモです。

Linux編 (UbuntuおよびRaspbian)

システム全体的なProxy設定 (Bash)

Webブラウジングなどするときに必要なProxy設定を環境変数として定義します。
~/.bashrcなどに書いておけば便利ですが、認証有りProxyの場合平文でパスワードを入力するので、共有PCなどでは注意が必要です。

~/.bashrc
# 認証無しProxyの場合は以下を追加
export https_proxy="http://<your.proxy.address>:<proxy.port>/"
export HTTPS_PROXY="http://<your.proxy.address>:<proxy.port>/"
export http_proxy="http://<your.proxy.address>:<proxy.port>/"
export HTTP_PROXY="http://<your.proxy.address>:<proxy.port>/"
export ftp_proxy="http://<your.proxy.address>:<proxy.port>/"
export FTP_PROXY="http://<your.proxy.address>:<proxy.port>/"

# 認証付きProxyの場合は以下を追加
export https_proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
export HTTPS_PROXY="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
export http_proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
export HTTP_PROXY="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
export ftp_proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
export FTP_PROXY="http://<username>:<password>@<your.proxy.address>:<proxy.port>/"

apt

/etc/apt/apt.conf(存在しない場合はファイルを作成)に以下を追加します。

/etc/apt/apt.conf
# 認証無しProxyの場合は以下を追加
Acquire::ftp::proxy "http://<your.proxy.address>:<proxy.port>/";
Acquire::http::proxy "http://<your.proxy.address>:<proxy.port>/";
Acquire::https::proxy "http://<your.proxy.address>:<proxy.port>/";

# 認証付きProxyの場合は以下を追加
Acquire::ftp::proxy "http://<username>:<password>@<your.proxy.address>:<proxy.port>/";
Acquire::http::proxy "http://<username>:<password>@<your.proxy.address>:<proxy.port>/";
Acquire::https::proxy "http://<username>:<password>@<your.proxy.address>:<proxy.port>/";

wget

/etc/wgetrcの以下の部分をコメントアウトして、適したProxyの設定を追加します。root権限が必要です。

/etc/wgetrc
# 認証無しProxyの場合は以下の部分をコメントアウトして編集
https_proxy = "http://<your.proxy.address>:<proxy.port>/"
http_proxy = "http://<your.proxy.address>:<proxy.port>/"
ftp_proxy = "http://<your.proxy.address>:<proxy.port>/"

# 認証付きProxyの場合は以下の部分をコメントアウトして編集
https_proxy = "http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
http_proxy = "http://<username>:<password>@<your.proxy.address>:<proxy.port>/"
ftp_proxy = "http://<username>:<password>@<your.proxy.address>:<proxy.port>/"

pip

pipコマンドのあとに-proxyオプションを付けてコマンドを実行します。以下の例ではinstallを実行していますが、もちろんこれに限りません。

# pip/認証なしProxyの場合
$ pip install --proxy="http://<your.proxy.address>:<proxy.port>/" <library name>
# pip3/認証なしProxyの場合
$ pip3 install --proxy="http://<your.proxy.address>:<proxy.port>/" <library name>

# pip/認証ありProxyの場合
$ pip install --proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/" <library name>
# pip3/認証ありProxyの場合
$ pip3 install --proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/" <library name>

conda

Anacondaルートフォルダに.condarcを作成し、以下の内容を追加。本ファイル自体がPython書式で書く必要があるため、インシデントをお忘れなく。自らのホームディレクトリ下以外にAnacondaをインストールした場合、root権限が必要になるかもしれません。

/path/to/Anaconda/home/.condarc
# 認証なしProxyの場合
proxy_servers:
    http: "http://<your.proxy.address>:<proxy.port>/"
    https: "http://<your.proxy.address>:<proxy.port>/"

# 認証ありProxyの場合
proxy_servers:
    http: "http://<username>:<password>@<your.proxy.address>:<proxy.port>/" 
    https: "http://<username>:<password>@<your.proxy.address>:<proxy.port>/" 

Windows編

pip

Linuxと同じく、pipコマンドのあとに-proxyオプションを付けてコマンドを実行します。以下の例ではinstallを実行していますが、もちろんこれに限りません。

# pip/認証なしProxyの場合
> pip install --proxy="http://<your.proxy.address>:<proxy.port>/" <library name>
# pip3/認証なしProxyの場合
> pip3 install --proxy="http://<your.proxy.address>:<proxy.port>/" <library name>

# pip/認証ありProxyの場合
> pip install --proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/" <library name>
# pip3/認証ありProxyの場合
> pip3 install --proxy="http://<username>:<password>@<your.proxy.address>:<proxy.port>/" <library name>

conda

Linuxと同じく、Anacondaルートフォルダに.condarcを作成し、以下の内容を追加。本ファイル自体がPython書式で書く必要があるため、インシデントをお忘れなく。Windowsの場合、.condarcの'.'をファイル新規作成時に指定できないので、一度別名で保存したあと.condarcに変更します。

/path/to/Anaconda/home/.condarc
# 認証なしProxyの場合
proxy_servers:
    http: "http://<your.proxy.address>:<proxy.port>/"
    https: "http://<your.proxy.address>:<proxy.port>/"

# 認証ありProxyの場合
proxy_servers:
    http: "http://<username>:<password>@<your.proxy.address>:<proxy.port>/" 
    https: "http://<username>:<password>@<your.proxy.address>:<proxy.port>/" 

Reference

  1. https://qiita.com/showsuzu/items/9ee031208d38ff8ac889
  2. https://qiita.com/wararaki/items/df537718be0f27171cdd
  3. https://qiita.com/Kyohei_Yamaji/items/dcee95ade24e12fdfd91