具体答案
conda remove -n env_name --all
会删除环境my_env,包括解压的库和env/env_name
目录。但它不会删除conda/pkgs
目录下的缓存tarballs。
- 可以直接从“Users/user”中删除文件夹
pkgs
和env
,而不影响基本环境。
但是,请注意,如果正在使用软链接(符号链接),删除pkgs
目录可能会破坏环境。可以使用以下命令检查软链接是否启用:
conda config --show allow_softlinks always_softlink
虽然这不能告诉我们是否有任何包被使用。
此外,Conda包可以包含pre-unlink
脚本,其中可能包含期望在软件包删除过程中进行评估的代码。直接删除环境将忽略此类协议并可能导致空引用。
通常,我建议使用CLI中可用的命令,而不是删除文件夹。如果您想要删除环境,则应使用(1)中的命令。如果您想要删除缓存的软件包,应使用conda clean
(使用--help
标志查看可用选项)。
- 如何将Anaconda还原为安装时的状态(只包含base环境和默认软件包)?
同样,您可以使用conda remove --all
删除其他环境。对于base,您可以使用以下命令将其恢复到原始状态。
conda install -n base --revision 0
然而,我需要指出的是,很多用户反映这种方法不起作用,或者如果他们回退得太远,会遇到问题。相反,可以使用 conda list --revisions
查看修订历史记录,并选择删除不需要的部分的状态。
一般建议
Miniforge
既然您似乎想要彻底卸载 Anaconda 并重新开始,我建议完全卸载 Anaconda。但是,如果您主要关心空间而不是重新安装 Anaconda,请考虑切换到 Miniforge 变体,它仅包括 Conda 包管理器和支持它的最小基础架构。然后创建只包括您实际需要的软件包的环境。您仍然可以使用 conda clean --tarballs
来最小化缓存下载,但是只要使用了 Miniforge,比完整的 Anaconda 分发版,您的脚印应该已经小得多了。
管理环境
作为一般的经验法则,我建议仅在安装 Conda 基础结构(例如 conda
、mamba
、conda-build
、boa
)时使用 base,并为您需要的特定软件包环境使用单独的环境(例如 TensorFlow、PyTorch)。根据我的经验,这有助于使您的 base 更加稳定,并允许您通过在不再需要它们时清除环境来分隔潜在的软件包冲突和封装特定的项目。