在安裝了Anaconda之后份氧,創(chuàng)建的虛擬環(huán)境可能會(huì)默認(rèn)保存在
C:\ProgramData\Anaconda3\envs
或C:\Users\用戶名\.conda\envs
路徑下佳镜,但C盤的存儲(chǔ)空間很寶貴,由于每個(gè)虛擬環(huán)境的大小可能達(dá)到n個(gè)GB
财喳,稍不注意就會(huì)遇到C盤紅色警告。
解決思路
-
方案1
: 每次創(chuàng)建虛擬環(huán)境時(shí)手動(dòng)指定存放路徑 -
方案2
:修改Anaconda默認(rèn)的虛擬環(huán)境存放路徑
很顯然揍庄,方案2
更討喜脖旱。
經(jīng)分析(如下圖所示),可以知道在Anaconda 目錄下主要是envs
和pkgs
這兩個(gè)文件夾占用了空間尉尾,這正是虛擬環(huán)境的目錄和包目錄爆阶,若可以把這兩個(gè)文件夾放到其他盤,則問題可得以解決沙咏。
修改配置前
在未進(jìn)行任何配置之前辨图,當(dāng)我們創(chuàng)建新的虛擬環(huán)境時(shí),虛擬環(huán)境的存放路徑在C盤
肢藐,如下圖所示:
修改配置的步驟
1. 在C盤以外的磁盤創(chuàng)建2個(gè)文件夾
以我在D盤為例:
2. 編輯.condarc
文件
.condarc
文件默認(rèn)存放在當(dāng)前用戶目錄下故河,即C:\Users\用戶名\
目錄下,若該目錄下不存在該文件吆豹,可手動(dòng)創(chuàng)建一個(gè)鱼的。在該文件中添加以下配置信息,分別將envs
和pkgs
文件夾指向新創(chuàng)建的路徑和舊的路徑
envs_dirs: [D:\Anaconda3\envs, C:\ProgramData\Anaconda3\envs]
pkgs_dirs: [D:\Anaconda3\pkgs, C:\ProgramData\Anaconda3\pkgs]
上圖中標(biāo)號(hào)為
1
的是在步驟1
中分別創(chuàng)建的2個(gè)文件路徑痘煤,標(biāo)號(hào)為2
的是當(dāng)前已有的虛擬環(huán)境存放的文件路徑鸳吸。一定要將新創(chuàng)建的文件路徑放在[]列表
的第一位。
原因是:系統(tǒng)在讀取路徑信息時(shí)速勇,默認(rèn)選擇列表中的第一個(gè)路徑作為虛擬環(huán)境存放的路徑晌砾,若第一個(gè)路徑不存在,才會(huì)繼續(xù)尋找后面的路徑烦磁,將當(dāng)前虛擬環(huán)境存放路徑也加進(jìn)來是為了以防第一個(gè)路徑被誤刪养匈,創(chuàng)建新的虛擬環(huán)境時(shí),依然可以存放在自己指定的目錄中都伪,也是為了不妨礙當(dāng)前已有的虛擬環(huán)境的使用呕乎,當(dāng)然你也可以添加更多其他的備選路徑。
你也可以打開Anaconda Navigator
點(diǎn)擊左上角的 File -> Preference
按照下圖標(biāo)注的序號(hào)進(jìn)行該步驟的配置陨晶,效果是一樣一樣的猬仁。
修改配置后
在修改了.condarc
文件后帝璧,當(dāng)我們創(chuàng)建新的虛擬環(huán)境時(shí),虛擬環(huán)境的存放路徑已經(jīng)變?yōu)榱?code>D盤湿刽,如下圖所示:
一個(gè)有用的思考:是否可以將已有的虛擬環(huán)境移動(dòng)到新的路徑中的烁?
答案:
可以
,但有注意事項(xiàng)
-
測試步驟1
:首先將.condarc
中添加的配置信息刪掉诈闺,執(zhí)行conda create -n test2
在默認(rèn)配置下創(chuàng)建一個(gè)名為test2
的虛擬環(huán)境渴庆,該虛擬環(huán)境自然就存放在了默認(rèn)的C盤
。此時(shí)執(zhí)行conda env list
可以看到test2
虛擬環(huán)境在C盤
雅镊。
在默認(rèn)配置下創(chuàng)建一個(gè)虛擬環(huán)境 -
測試步驟2
:將C:\ProgramData\Anaconda3\envs
下的test2
文件夾剪切并粘貼到D:\Anaconda3\envs
目錄下襟雷,再執(zhí)行conda env list
命令,可以看到test2
虛擬環(huán)境已不存在仁烹。很容易理解的是:由于.condarc
文件未添加任何配置信息耸弄,test2
文件夾已被轉(zhuǎn)移到其他路徑下,對于系統(tǒng)來說卓缰,相當(dāng)于test2
文件夾已被刪掉计呈,所以該虛擬環(huán)境不會(huì)再顯示在列表中。
在這里插入圖片描述 -
測試步驟3
:將.condarc
配置文件恢復(fù)到以下圖1狀態(tài)后僚饭,重新執(zhí)行conda env list
命令震叮,可以看到test2
虛擬環(huán)境,且此時(shí)它的路徑信息已顯示為D:\Anaconda3\envs\test
鳍鸵。
圖1.恢復(fù)配置信息
結(jié)論:
anaconda不僅僅在創(chuàng)建新的虛擬環(huán)境時(shí)會(huì)讀取.condarc
文件的配置信息苇瓣。因此,倘若你想把現(xiàn)有的虛擬文件轉(zhuǎn)移到別的磁盤目錄下來拯救茍活著的C盤偿乖,請確保該目錄在.condarc
文件中存在击罪,否則anaconda將會(huì)找不到轉(zhuǎn)移后的虛擬環(huán)境。