conda config で仮想環境の生成先ディレクトリとパッケージの保存先を変更する

試した環境

本題

conda を使用していると、仮想環境やパッケージのサイズが大きいので、Cドライブ以外にそれらを置きたいと思うことがあるかもしれません。 そのようなときは、conda configコマンドで仮想環境の生成先ディレクトリとパッケージの保存先を変更できます。
まず、conda config --showコマンドで設定を確認します。

(base)$ conda config --show
add_anaconda_token: True
######### 省略 #########
envs_dirs:
  - C:\Users\____\miniconda3\envs
  - C:\Users\____\.conda\envs
  - C:\Users\____\AppData\Local\conda\conda\envs
error_upload_url: https://conda.io/conda-post/unexpected-error
######### 省略 #########
pkgs_dirs:
  - C:\Users\____\miniconda3\pkgs
  - C:\Users\____\.conda\pkgs
  - C:\Users\____\AppData\Local\conda\conda\pkgs
proxy_servers: {}
######### 省略 #########
whitelist_channels: []

仮想環境の作成場所はenvs_dirsパラメータの値、パッケージの保存場所はpkgs_dirsパラメータの値です。 指定したいディレクトリをconda config --addコマンドで追加します。

(base)$ conda config --add envs_dirs E:\miniconda3\envs
(base)$ conda config --add pkgs_dirs E:\miniconda3\pkgs
(base)$ conda config --show
add_anaconda_token: True
######### 省略 #########
envs_dirs:
  - E:\miniconda3\envs
  - C:\Users\____\miniconda3\envs
  - C:\Users\____\.conda\envs
  - C:\Users\____\AppData\Local\conda\conda\envs
######### 省略 #########
pkgs_dirs:
  - E:\miniconda3\pkgs
proxy_servers: {}
######### 省略 #########
whitelist_channels: []

これで仮想環境を作成したりパッケージをダウンロードした時に今回指定した場所に置かれると思います。

ところで、設定変更後のconda config --showの結果を見ると、 envs_dirsパラメータはデフォルト値が残った状態で値が追加されていますが、 pkgs_dirsパラメータはデフォルト値が消えて値が追加ではなく上書きされています。 この理由はよくわかりません。 デフォルト値は設定した値を消せば復活します。

(base)$ conda config --remove-key pkgs_dirs
(base)$ conda config --show
add_anaconda_token: True
######### 省略 #########
pkgs_dirs:
  - C:\Users\____\miniconda3\pkgs
  - C:\Users\____\.conda\pkgs
  - C:\Users\____\AppData\Local\conda\conda\pkgs
proxy_servers: {}
######### 省略 #########
whitelist_channels: []

参考

Conda configuration — conda 4.8.4.post65+1a0ab046 documentation