最稳妥的删除方式是conda remove --name 环境名 --all,需先退出目标环境;conda env remove --name 环境名效果相同但语法更直观;切勿手动删除envs目录下文件夹,否则元数据不同步。

必须先退出目标环境,再执行删除命令;否则会失败或删错环境。
conda remove --name 环境名 --all 是最稳妥的删除方式
这个命令会连环境目录、所有包、依赖和配置一并清空,不残留文件。它比 conda env remove 更早被广泛使用,兼容性更好,尤其在旧版 conda(如 4.10 之前)中更可靠。
- 执行前务必确认当前没激活该环境:运行
conda deactivate直到提示符前没有括号环境名 - 环境名区分大小写,Windows 下也区分,别输成
MyEnv却实际叫myenv - 如果提示
CondaEnvironmentNotFoundError,先用conda env list核对名称,注意末尾可能有空格 - 删除后不会自动清理 conda 缓存,磁盘空间未必立刻释放,后续可补一句
conda clean -a
conda env remove --name 环境名 效果相同但语法更直观
这是 conda 4.6+ 引入的替代语法,语义更清晰,底层行为和 conda remove --name ... --all 完全一致。如果你用的是较新版本(2025 年后默认安装的 conda 多为 24.x),两者任选其一都行。
- 它不接受
--all参数,加了反而报错:unrecognized arguments: --all - 执行时会明确提示 “Removing environment at …”,比
conda remove的输出更直白 - 同样要求提前退出环境,否则报错
EnvironmentLocationNotFound或静默失败
别直接删 envs 目录下的文件夹
手动删 ~/anaconda3/envs/xxx 或 C:\Users\XXX\Anaconda3\envs\xxx 看似快,但风险极高——conda 元数据不会同步更新,下次运行 conda env list 还会显示该环境,且可能引发后续命令异常(比如 conda install 报路径冲突)。
- 仅当
conda remove命令完全失效(如环境元数据损坏、conda 自身崩溃)时才考虑此法 - 删完必须紧接着运行
conda clean --force-pkgs和conda info --envs验证是否从列表消失 - 绝对不要删
base环境目录,那会导致 conda 命令整体不可用
真正容易被忽略的点是:删除操作本身很快,但残留的 conda 缓存包(pkgs/ 目录下)可能占几 GB,且不会随环境删除自动清理。如果你刚删掉一个大环境却没见磁盘空间回来,八成是卡在这儿了。











