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

时间:2017-11-22 01:14:26

标签: python linux anaconda

我在计算机中使用Anaconda来处理我的python版本和环境。 Anaconda安装的位置(以及新创建环境的默认位置)为/opt/anaconda3/。我创建了两个自定义环境 - envA envB envA 出现在/opt/anaconda3/envs/envA中, envB 出现在~/.conda/envs/envB中。这是因为我选择了这种方式 - envB 用于某些个人实验和研究,因此在我的主目录中创建它是有意义的。

现在,经过一段时间,当未使用的软件包和缓存占用了太多的磁盘空间时,我通过执行清理工作

conda clean --all

我发现上面一行只清除 /opt/anaconda3处的默认目录,而不是我主目录中的默认目录。我的主目录中只有一个环境( envB )但~/.conda/envs/占用的磁盘空间接近6 GB,所以我很确定conda clean对我的家没有影响。目录

因此,我有两个具体问题:

  • 有没有办法让conda clean在我的主目录上运行?我尝试了conda clean <dir>,但这不起作用。

  • 如果我手动删除未使用的软件包和缓存,我会在~/.conda中删除哪些目录/文件?这是目录结构的快速显示。

    ~/.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论坛也没有提到这个问题。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

事实证明.pkgs目录是缓存,可以安全地删除。由于我的系统中的.pkgs/目录现在为空,而无需执行任何手动清除,因此对Conda的更新也可能解决了此问题。主目录上的大部分空间由<env>/lib/site-packages/目录占用(针对每个环境),具体取决于安装了哪些软件包和库。顶层的pkgs/目录包含其他软件包。