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

时间:2021-04-03 15:41:13

标签: python anaconda conda

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

2 个答案:

答案 0 :(得分:4)

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

conda env remove -n foo

这通常会删除 anaconda3/envs/foo 下的所有内容。

PyPI 包可能会继续存在。如果您之前在环境中使用过 pip install,它偶尔会留下一些残留的东西。如果是这种情况,您需要在 anaconda3/envs/foo 之后手动删除 conda env remove 文件夹。或者您可以尝试先pip uninstall任何 PyPI 包1,以获得干净的 conda env remove 结果。

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

conda clean -tp  # delete tarballs and unused packages

1: 有一个命令可以从 this answer 的 Conda 环境中以编程方式删除所有 PyPI 安装的软件包。

答案 1 :(得分:1)

conda 环境将被删除。有时一些包会留在后面,尽管它们不受任何环境的约束。您可以在下面删除这些 <your anaconda folder> -> envs -> <the env you deleted>