如果我删除 conda 环境,它会自动删除所有包吗?

use*_*230 2 python anaconda conda

我认为很明显它应该在删除环境时卸载所有包,因为否则将如何访问它们,但我没有看到文档这么说,所以我在这里检查是否需要先删除所有包。

mer*_*erv 6

让我们更具体地删除位于with的 env fooanaconda3/envs/foo

conda env remove -n foo
Run Code Online (Sandbox Code Playgroud)

这通常会删除anaconda3/envs/foo.

PyPI 包可能会留在. 如果你以前pip install在环境中使用过,它偶尔会留下一些残留的东西。如果是这种情况,您需要anaconda3/envs/fooconda env remove. 或者您可以先尝试pip uninstall任何 PyPI 包1,以获得干净的conda env remove结果。

Conda 还缓存所有包,无论它们当前是否在使用中。这将低于anaconda3/pkgs(通常)。要额外删除不再使用的包,可以使用

conda clean -tp  # delete tarballs and unused packages
Run Code Online (Sandbox Code Playgroud)

1:这个答案中有一个命令可以以编程方式从 Conda 环境中删除所有 PyPI 安装的包。