anaconda虚拟环境默认路径的更改
Posted lhx滴xjq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了anaconda虚拟环境默认路径的更改相关的知识,希望对你有一定的参考价值。
一、查看所有虚拟环境及其路径(conda env list)
二、查看虚拟环境默认位置(conda config --show)
出来的内容向下滑,滑动到envs_dirs,这里显示的有三个路径,第一个就是虚拟环境默认的安装路径。
三、 添加环境路径(conda config --add envs_dirs D:/Environment_2023/Anaconda3/envs)
这里假设初始时D盘路径排在第二的位置,C盘中的.conda\\envs路径排在第一(大部分时的情况),则系统默认是安装在C盘中的.conda\\envs路径(这也是一直让人烦恼的问题所在)。此时执行上述代码后,D盘路径会变到第一的位置,也就将默认路径进行了更改。
Ps: 上述代码本意为添加路径,由于路径已经存在,便调整至了第一的位置,删除路径对应为conda config --remove envs_dirs dir
四、尝试创建新的虚拟环境(conda create -n Work37 python=3.7)
代码中Work37为虚拟环境的名字,后面的3.7为python的版本。注意创建虚拟环境时系统会对你进行询问,此时如果作为尝试,则不必输入y,直接输入n即可,因为系统已经将安装的路径告诉了你。如果想删除已经创建的环境,代码为(conda remove -n 环境名 --all)。
五、更改Anaconda3文件夹的属性
如果上述路径已经变成了D盘(目标盘),恭喜已经成功。不放心的话可以自己创建一个虚拟环境再去利用(conda env list)查看他的路径。
如果尝试创建环境时发现路径仍然没有变化,不用担心,很正常。原因是Anaconda3文件夹的属性问题。
进入Anaconda3的属性界面,点击安全
点击编辑
将Users的权限全部允许(最后一个特殊权限可能无法点击,不过没有影响,将其余的点上就可以了)。之后点击确定,这里可能需要等一小会,完成后便可以了。
六、更改所有者
如果在上述步骤中,点击确定后报错,提示“将安全性信息应用到以下对象时发生错误”,不要担心,也是正常现象。此时需要做以下步骤:
在安全界面点击高级
点击更改(可能需要赋予管理员权限,直接赋予即可)
点击高级
点击立即查找
找到Everyone并点击确定
点击确定
勾选 “替换子容器和对象的所有者” 以及 “使用可从此对象继承的权限项目替换所有子对象的权限项目” 并点击确定。这可能会需要一段时间,完成后,在重复五中的步骤,你会发现点击确定不再报错,大功告成。
七、conda清理(conda clean -p)
调整路径是为了给C盘腾出位置,注意偶尔也可以使用conda进行一下清理哦,这条指令的作用是删除没有用的包,图中就存在了2.76G的垃圾,直接输入y便可以删除。
拯救C盘一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理
在安装了Anaconda之后,创建的虚拟环境可能会默认保存在
C:\\ProgramData\\Anaconda3\\envs
或C:\\Users\\用户名\\.conda\\envs
路径下,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB
,稍不注意就会遇到C盘红色警告。
解决思路
方案1
: 每次创建虚拟环境时手动指定存放路径方案2
:修改Anaconda默认的虚拟环境存放路径
很显然,方案2
更讨喜。
经分析(如下图所示),可以知道在Anaconda 目录下主要是envs
和pkgs
这两个文件夹占用了空间,这正是虚拟环境的目录和包目录,若可以把这两个文件夹放到其他盘,则问题可得以解决。
修改配置前
在未进行任何配置之前,当我们创建新的虚拟环境时,虚拟环境的存放路径在C盘
,如下图所示:
修改配置的步骤
1. 在C盘以外的磁盘创建2个目录
以我在D盘为例:
2. 编辑.condarc
文件
.condarc
文件默认存放在当前用户目录下,即C:\\Users\\用户名\\
目录下,若该目录下不存在该文件,可手动创建一个。在该文件中添加以下配置信息,分别将envs
和pkgs
文件夹指向新创建的路径和旧的路径
envs_dirs: [D:\\Anaconda3\\envs, C:\\ProgramData\\Anaconda3\\envs]
pkgs_dirs: [D:\\Anaconda3\\pkgs, C:\\ProgramData\\Anaconda3\\pkgs]
下图中标号为1
的是在步骤1
中分别创建的2个文件路径,标号为2
的是当前已有的虚拟环境存放的文件路径。一定要将新创建的文件路径放在[]列表
的第一位。
原因是:系统在读取路径信息时,默认选择列表中的第一个路径作为虚拟环境存放的路径,若第一个路径不存在,才会继续寻找后面的路径,将当前虚拟环境存放路径也加进来是为了以防第一个路径被误删,创建新的虚拟环境时,依然可以存放在自己指定的目录中,也是为了不妨碍当前已有的虚拟环境的使用,当然你也可以添加更多其他的备选路径。
你也可以打开Anaconda Navigator
点击左上角的 File -> Preference
按照下图标注的序号进行该步骤的配置,效果是一样一样的。
修改配置后
在修改了.condarc
文件后,当我们创建新的虚拟环境时,虚拟环境的存放路径已经变为了D盘
,如下图所示:
一个有用的思考:是否可以将已有的虚拟环境移动到新的路径中?
答案:
可以
,但有注意事项
测试步骤1
:首先将.condarc
中添加的配置信息删掉,执行conda create -n test2
在默认配置下创建一个名为test2
的虚拟环境,该虚拟环境自然就存放在了默认的C盘
。此时执行conda env list
可以看到test2
虚拟环境在C盘
。
测试步骤2
:将C:\\ProgramData\\Anaconda3\\envs
下的test2
文件夹剪切并粘贴到D:\\Anaconda3\\envs
目录下,再执行conda env list
命令,可以看到test2
虚拟环境已不存在。很容易理解的是:由于.condarc
文件未添加任何配置信息,test2
文件夹已被转移到其他路径下,对于系统来说,相当于test2
文件夹已被删掉,所以该虚拟环境不会再显示在列表中。
测试步骤3
:将.condarc
配置文件恢复到以下图1状态后,重新执行conda env list
命令,可以看到test2
虚拟环境,且此时它的路径信息已显示为D:\\Anaconda3\\envs\\test
。
结论:
anaconda不仅仅在创建新的虚拟环境时会读取.condarc
文件的配置信息。因此,倘若你想把现有的虚拟文件转移到别的磁盘目录下来拯救苟活着的C盘,请确保该目录在.condarc
文件中存在,否则anaconda将会找不到转移后的虚拟环境。
如果你觉得此文对你有帮助,请记得 点赞 收藏 + 关注 哦
以上是关于anaconda虚拟环境默认路径的更改的主要内容,如果未能解决你的问题,请参考以下文章