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

Shi*_*iva 5 python linux anaconda

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

现在,过了一段时间,当未使用的包和缓存占用了太多的磁盘空间时,我通过执行以下操作进行了清理

conda clean --all
Run Code Online (Sandbox Code Playgroud)

我观察到上面的行清理了默认目录/opt/anaconda3,而不是我的主目录中的目录。我的主目录中只有一个环境 ( envB ),但~/.conda/envs/占用了接近 6 GB 的磁盘空间,因此我非常确定conda clean对我的主目录没有影响。

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

  • 有没有办法conda clean也可以在我的主目录上工作?我尝试过conda clean <dir>,但这不起作用。

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

    ~/.conda/
        -> environments.txt
        -> envs/
            -> envB/
            -> .pkgs/
        -> pkgs/
    
    Run Code Online (Sandbox Code Playgroud)

~/.conda/pkgs我想我应该删除 或的内容~/.conda/envs/.pkgs,因为它们都占据了大部分空间。据我所见,~/.conda/envs/.pkgs/包含几个明显不必要的软件包(包括多个版本),并且~/.conda/pkgs/似乎包含我的环境所需的基本软件包。但这里有一个问题——~/.conda/pkgs仅包含 27 个包文件,而envB实际上有 43 个包。所以我认为可能还有一些其他包~/.conda/envs/.pkgs可以链接或引用。

我曾尝试寻找这个问题的答案,但找不到任何答案,因此我决定在这里提问,因为我相信这对其他人也有帮助。就连conda官方文档以及github论坛都没有提及这个问题。

非常感谢您的帮助!

Shi*_*iva 3

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