默認(rèn)情況下赡勘,conda 創(chuàng)建的新環(huán)境 以及過往安裝的模塊緩存都存儲(chǔ)在用戶目錄下洁仗,這一點(diǎn)不會(huì)在 conda (user-specific)配置文件 $HOME/.condarc 中體現(xiàn)出來竹习,除非用戶修改了默認(rèn)設(shè)置指孤。當(dāng)前的默認(rèn)信息可通過 conda info
指令打印查看,其中不僅能夠查看當(dāng)前默認(rèn)環(huán)境路徑和默認(rèn)緩存路徑猴抹,還能查看conda的源設(shè)置(關(guān)于conda的源設(shè)置在告別便秘:conda改源之路中已經(jīng)說明過了)带族。
## 示例
(tensorflow) C:\Users\xxx>conda info
Current conda install:
platform : win-32
conda version : 4.3.30
conda is private : False
conda-env version : 4.3.30
conda-build version : not installed
python version : 3.6.3.final.0
requests version : 2.18.4
root environment : C:\ProgramData\Miniconda3 (read only)
default environment : C:\Users\xxx\AppData\Local\conda\conda\envs\tensorflow
envs directories : C:\Users\xxx\AppData\Local\conda\conda\envs #環(huán)境依次存儲(chǔ)在下面幾個(gè)目錄,第一個(gè)為默認(rèn)存儲(chǔ)目錄
C:\ProgramData\Miniconda3\envs
C:\Users\xxx\.conda\envs
package cache : C:\ProgramData\Miniconda3\pkgs #緩存依次存儲(chǔ)在下面幾個(gè)目錄蟀给,第一個(gè)為默認(rèn)存儲(chǔ)目錄
C:\Users\xxx\AppData\Local\conda\conda\pkgs
channel URLs : https://repo.continuum.io/pkgs/main/win-32 #源地址
https://repo.continuum.io/pkgs/main/noarch
https://repo.continuum.io/pkgs/free/win-32
https://repo.continuum.io/pkgs/free/noarch
https://repo.continuum.io/pkgs/r/win-32
https://repo.continuum.io/pkgs/r/noarch
https://repo.continuum.io/pkgs/pro/win-32
https://repo.continuum.io/pkgs/pro/noarch
https://repo.continuum.io/pkgs/msys2/win-32
https://repo.continuum.io/pkgs/msys2/noarch
config file : None
netrc file : None
offline mode : False
user-agent : conda/4.3.30 requests/2.18.4 CPython/3.6.3 Windows/7 Windows/6.1.7601
administrator : False
這種默認(rèn)的處理方式的好處是友好利用了現(xiàn)代操作系統(tǒng)多用戶的特點(diǎn)蝙砌,保證每個(gè)用戶操作之間的隔離性;問題是 在用戶個(gè)人目錄存儲(chǔ)空間設(shè)置得很小的情況下跋理,隨著用戶使用時(shí)間變長择克,可用的用戶目錄空間將越來越少,很可能導(dǎo)致沒有足夠的空間來容納新創(chuàng)建的環(huán)境或沒有足夠的空間來為環(huán)境安裝新的模塊前普。這時(shí)候該怎么辦肚邢?
實(shí)際上,conda環(huán)境和緩存的默認(rèn)路徑(envs directories 和 package cache)不一定要默認(rèn)存儲(chǔ)在用戶目錄,我們可以將他們設(shè)置到盈余空間稍大的其他目錄來緩解這種空間壓力骡湖,只要保證不同用戶之間的設(shè)置不同即可贱纠。路徑的設(shè)置可以通過編輯 $HOME/.condarc 來實(shí)現(xiàn)。添加或修改 $HOME/.condarc 中的 env_dirs 和 pkgs_dirs 配置項(xiàng)分別設(shè)置環(huán)境和緩存路徑响蕴,按順序第一個(gè)路徑作為默認(rèn)存儲(chǔ)路徑谆焊,搜索環(huán)境和緩存時(shí)按先后順序在各目錄中查找。
// 配置示例
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
envs_dirs:
- D:\data\xxx\Miniconda\envs
- C:\Users\xxx\AppData\Local\conda\conda\envs
- C:\Users\xxx\.conda\envs
- C:\ProgramData\Anaconda\Miniconda3\envs
pkgs_dirs:
- D:\data\xxx\Miniconda\pkgs
- C:\Users\xxx\AppData\Local\conda\conda\pkgs
- C:\Users\xxx\.conda
- C:\ProgramData\Anaconda\Miniconda3\pkgs
如上例浦夷,新建環(huán)境將存儲(chǔ)在 D:\data\xxx\Miniconda\envs
下辖试,緩存文件將存儲(chǔ)在 D:\data\xxx\Miniconda\pkgs
下,從而避免了用戶目錄空間不足帶來的窘迫军拟。