【问题标题】:How to manually clean up conda in my home directory?如何手动清理我的主目录中的 conda?
【发布时间】:2017-11-22 01:14:25
【问题描述】:

我在我的计算机中使用 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 对我的主目录没有影响。

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

  • 有没有办法让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 论坛都没有提到这个问题。

非常感谢您的帮助!

【问题讨论】:

    标签: python linux anaconda


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多