修改 .condarc 文件中的 envs_dirs 是最稳妥、一劳永逸的办法;需先用 conda info --envs 和 conda config --show envs_dirs 确认当前路径,再编辑 .condarc 添加目标路径并验证生效。

直接改 .condarc 文件里的 envs_dirs,是最稳妥、一劳永逸的办法。 其他方式要么只对单次创建生效,要么容易被用户级配置覆盖,反而埋下后续环境“乱跑”的隐患。
怎么确认当前环境存在哪?
先别急着改,得知道你现在用的路径是哪个:
- 运行
conda info --envs,看列出的每个环境路径,尤其是base环境所在位置 - 运行
conda config --show envs_dirs,输出的列表就是 Conda 当前认可的所有候选路径,顺序很重要——它会从上到下找第一个可写的路径来创建新环境 - 如果没输出或只看到
C:\Users\XXX\.conda\envs,说明你还没配过,Conda 正在用默认 fallback 路径
修改 .condarc 是最推荐的方式
这个文件是 Conda 的“总开关”,改了它,所有后续 conda create -n 都会走新路径。操作很简单:
- 找到文件:
C:\Users\你的用户名\.condarc(注意是隐藏文件,需开启显示隐藏文件) - 用记事本或 VS Code 打开,在末尾添加(路径用正斜杠或双反斜杠):
envs_dirs: - D:/Anaconda_Envs
- 保存后关闭,无需重启终端,立刻生效
- 验证:再跑一次
conda config --show envs_dirs,确认新路径已出现在第一行
用 conda config --add 命令也能加,但有坑
命令看起来方便:conda config --add envs_dirs D:/Anaconda_Envs,但它实际是往 .condarc 里追加一行,不是覆盖。容易导致:
- 多次执行后
envs_dirs列表变长,Conda 每次都从第一个路径试起,万一第一个路径权限不足或磁盘满了,就会跳到第二个(比如又回 C 盘),你根本意识不到 - 路径重复添加后,
conda env list可能显示多个同名环境(不同路径下),激活时容易选错 - 建议只用一次,之后就别再用
--add,要调整优先级就直接编辑.condarc
迁移已有环境不能只复制文件夹
把 C:\Users\XXX\.conda\envs\myenv 整个拖到 D:/Anaconda_Envs/myenv 后,conda activate myenv 很可能失败,因为:
- 环境内部硬编码了原路径(尤其 Windows 下的
python.exe和Scripts/activate.bat) - Conda 不知道这个新位置的存在,除非你先执行
conda config --add envs_dirs D:/Anaconda_Envs - 更安全的做法是用
conda create --clone myenv --prefix D:/Anaconda_Envs/myenv,它会重建所有路径引用,确保可激活
真正容易被忽略的是多路径顺序和权限——哪怕你写了三个路径,只要第一个有写权限,Conda 就永远不会用后面的。所以别堆一堆路径凑数,只留一个你确定能稳定写的,其他删掉。

















