我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

在安装了Anaconda之后,创建的虚拟环境可能会默认保存在 C:\ProgramData\Anaconda3\envsC:\Users\用户名\.conda\envs路径下,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。

解决思路

  • 方案1: 每次创建虚拟环境时手动指定存放路径
  • 方案2:修改Anaconda默认的虚拟环境存放路径
    很显然,方案2更讨喜。

经分析(如下图所示),可以知道在Anaconda 目录下主要是envspkgs这两个文件夹占用了空间,这正是虚拟环境的目录和包目录,若可以把这两个文件夹放到其他盘,则问题可得以解决。
Anaconda目录空间占用分析

修改配置前

在未进行任何配置之前,当我们创建新的虚拟环境时,虚拟环境的存放路径在C盘,如下图所示:
默认配置下虚拟环境的存放路径

修改配置的步骤

1. 在C盘以外的磁盘创建2个目录

以我在D盘为例:
在D盘创建的2个目录

2. 编辑.condarc文件

.condarc文件默认存放在当前用户目录下,即C:\Users\用户名\目录下,若该目录下不存在该文件,可手动创建一个。在该文件中添加以下配置信息,分别将envspkgs文件夹指向新创建的路径旧的路径

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按照下图标注的序号进行该步骤的配置,效果是一样一样的。

Anaconda Navigator配置

修改配置后

在修改了.condarc文件后,当我们创建新的虚拟环境时,虚拟环境的存放路径已经变为了D盘,如下图所示:
修改配置后新的虚拟环境的默认存放路径

一个有用的思考:是否可以将已有的虚拟环境移动到新的路径中?

答案:可以,但有注意事项

  1. 测试步骤1:首先将.condarc中添加的配置信息删掉,执行conda create -n test2在默认配置下创建一个名为test2的虚拟环境,该虚拟环境自然就存放在了默认的C盘。此时执行conda env list可以看到test2虚拟环境在C盘
    在默认配置下创建一个虚拟环境
  2. 测试步骤2:将C:\ProgramData\Anaconda3\envs下的test2文件夹剪切并粘贴到D:\Anaconda3\envs目录下,再执行conda env list命令,可以看到test2虚拟环境已不存在。很容易理解的是:由于.condarc文件未添加任何配置信息,test2文件夹已被转移到其他路径下,对于系统来说,相当于test2文件夹已被删掉,所以该虚拟环境不会再显示在列表中。
    在这里插入图片描述
  3. 测试步骤3:将.condarc配置文件恢复到以下图1状态后,重新执行conda env list命令,可以看到test2虚拟环境,且此时它的路径信息已显示为D:\Anaconda3\envs\test
    图1.恢复配置信息
    图2

结论
anaconda不仅仅在创建新的虚拟环境时会读取.condarc文件的配置信息。因此,倘若你想把现有的虚拟文件转移到别的磁盘目录下来拯救苟活着的C盘,请确保该目录在.condarc文件中存在,否则anaconda将会找不到转移后的虚拟环境。

如果你觉得此文对你有帮助,请记得 点赞 收藏 + 关注 哦

来源地址:https://blog.csdn.net/Roach007/article/details/128768762

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录