Conda删除所有环境(root除外)

MSe*_*ert 11 python anaconda conda

我知道我可以删除单个环境

 conda remove -n envname --all
Run Code Online (Sandbox Code Playgroud)

但是我经常创建多个新的环境来安装一个特定的软件包或对它进行测试,所以我经常最终得到5-10个环境,将它们相互删除是很痛苦的.是否有一种简单的方法(对于Windows)删除除根环境之外的所有环境?

小智 22

基于 Mac/Linux 的系统可以删除所有这样的环境。

for i in `conda env list|awk '{print $1}'|egrep -v 'base|#'|tr '\n' ' '`;do echo $i;conda env remove --name $i;done
Run Code Online (Sandbox Code Playgroud)


Edi*_*enz 12

删除envs驻留在其中的子目录中的所有目录conda都可以完成作业.

  • 尽管实际上风险较小,但删除环境文件夹将无法运行任何预取消链接脚本,某些软件包使用这些脚本来清理它们在安装时配置的用户或系统级设置(例如,取消订阅事件挂钩)。使用 `conda env remove` 应该被视为更好的做法。 (3认同)

hen*_*ack 5

这不是最优雅的答案。但我只会从 复制所有环境的名称conda info --envs。然后制作一个 bash(或 Windows 的 .bat)文件,其中包含您需要的所有命令,例如......

conda remove -n env_name_1 --all -y
conda remove -n env_name_2 --all -y
conda remove -n env_name_3 --all -y
conda remove -n env_name_4 --all -y
conda remove -n env_name_5 --all -y
Run Code Online (Sandbox Code Playgroud)

或者只需将其复制并粘贴到终端中,它就会帮您解决问题!

如果我是一个 bash(或 .bat)小向导(或者可能懒得做一些谷歌搜索),你可以通过管道输出conda info --envs来生成conda remove ...命令。