Anaconda の conda
コマンドでは、いわゆる仮想環境を作成することで任意のバージョンの Python やパッケージの組み合わせを一つの計算機で共存させることができる。今日は、その仮想環境のファイル群を配置する標準のディレクトリを変更する方法について書いておく。
動作確認環境
- Windows 10
- conda 4.5.11 (Miniconda)
設定の確認方法と変更方法
Anaconda は仮想環境のファイル群を配置するディレクトリパスを複数設定でき、envs_dirs
という設定値 でこのリストを管理している。envs_dirs
の現在有効な値は conda config
コマンドで確認できる。たとえば:
(base) C:\Users\sgryjp\src\blog>conda config --show envs_dirs envs_dirs: - C:\Users\sgryjp\Miniconda3\envs - C:\Users\sgryjp\AppData\Local\conda\conda\envs - C:\Users\sgryjp\.conda\envs
この設定はファイル .condarc
の envs_dir
キーで変更できる。また、環境変数 CONDA_ENVS_PATH
が設定されていると、その値がこのリストの先頭に追加され、最優先で使用される。.condarc
でも CONDA_ENVS_PATH
でも良いのだけれど、個人的には前者は色々な場所に存在しうる点が面倒なので環境変数を使う方が好みに合うかな。
次に動作例を記す。
(base) C:\Users\sgryjp\src\blog>echo %CONDA_ENVS_PATH% D:\conda\envs (base) C:\Users\sgryjp\src\blog>conda config --show envs_dirs envs_dirs: - D:\conda\envs - C:\Users\sgryjp\Miniconda3\envs - C:\Users\sgryjp\AppData\Local\conda\conda\envs - C:\Users\sgryjp\.conda\envs
なお、当面は CONDA_ENVS_PATH
に指定するディレクトリパスは「envs
で終わる」ようにした方が良い。さもないと、コマンドプロンプトの一部として表示される仮想環境名((base)
の部分)がフルパスで表示されてしまい、非常に煩わしくなる。
例
(base) C:\Users\sgryjp\src\blog>echo %CONDA_ENVS_PATH% D:\conda\envs (base) C:\Users\sgryjp\src\blog>conda create -n py35 "python==3.5.*" Solving environment: done ## Package Plan ## environment location: D:\conda\envs\py35 added / updated specs: - python=3.5 The following packages will be downloaded: package | build ---------------------------|----------------- wheel-0.31.1 | py35_0 81 KB wincertstore-0.2 | py35hfebbdb8_0 13 KB python-3.5.6 | he025d50_0 18.2 MB pip-10.0.1 | py35_0 1.8 MB certifi-2018.8.24 | py35_1 140 KB setuptools-40.2.0 | py35_0 597 KB ------------------------------------------------------------ Total: 20.8 MB The following NEW packages will be INSTALLED: certifi: 2018.8.24-py35_1 pip: 10.0.1-py35_0 python: 3.5.6-he025d50_0 setuptools: 40.2.0-py35_0 vc: 14.1-h0510ff6_4 vs2015_runtime: 14.15.26706-h3a45250_0 wheel: 0.31.1-py35_0 wincertstore: 0.2-py35hfebbdb8_0 Proceed ([y]/n)?