如何手动清理我的主目录中的conda?

5
我在电脑上使用Anaconda处理Python版本和环境。Anaconda安装的位置(新创建环境的默认位置)为/opt/anaconda3/。我创建了两个自定义环境 - envAenvBenvA 存在于/opt/anaconda3/envs/envA,而envB则存在于~/.conda/envs/envB。这是我选择的方式 -- envB 是用于一些个人实验和研究,因此将其创建在我的主目录中是有意义的。
现在,经过一段时间后,当未使用的软件包和缓存占用了太多的磁盘空间时,我通过运行以下代码进行清理:
conda clean --all

我注意到上面的命令只清理了位于/opt/anaconda3的默认目录,但没有清理我的主目录中的目录。我只有一个环境(envB)在我的主目录中,但是~/.conda/envs/占用了近6 GB的磁盘空间,因此我非常确定conda clean没有对我的主目录产生影响。
因此,我有两个具体的问题:
  • Is there a way to make conda clean work on my home directory as well? I tried conda clean <dir> but that does not work.

  • If I were delete unused packages and the caches manually, which directories/files do I delete within ~/.conda? Here is a quick display of the directory structure.

    ~/.conda/
        -> environments.txt
        -> envs/
            -> envB/
            -> .pkgs/
        -> pkgs/
    
我想删除~/.conda/pkgs~/.conda/envs/.pkgs的内容,因为它们占据了大部分空间。从我所看到的情况来看,~/.conda/envs/.pkgs/包含一些明显不必要的软件包(包括多个版本),而~/.conda/pkgs/似乎包含我的环境所需的基本软件包。但是问题在于~/.conda/pkgs只包含27个软件包文件,而实际上envB有43个软件包。因此,我认为~/.conda/envs/.pkgs中可能还有其他链接或引用的软件包。

我已经尝试搜索答案,但没有找到任何答案,因此我决定在这里提问,因为我相信这对许多其他人也会有帮助。即使官方的conda文档和github论坛也没有提到这个问题。

非常感谢您的帮助!

2个回答

3

原来.pkgs目录是缓存,可以安全删除。更新Conda也可能修复了这个问题,因为在我的系统中,.pkgs/目录现在是空的,而我没有进行任何手动清理。主目录上的大部分空间都被<env>/lib/site-packages/目录(每个环境)占据,具体取决于安装了哪些软件包和库。顶层的pkgs/目录保存了其他的软件包。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接