我运行了此命令以释放anaconda上的磁盘空间
$ conda clean -all
但是,anaconda python的pkgs
文件夹中仍有一些大文件。
手动删除pkgs
文件夹中的所有文件是否安全?有损坏我的蟒蛇环境的风险吗?有什么副作用?
我正在Windows 10上使用anaconda 2018。
答案 0 :(得分:3)
不,这绝对不安全,实际上,实际上,释放磁盘空间的唯一方法是破坏 base 环境。问题是所有环境都使用到pkgs
目录的硬链接,因此,即使您删除pkgs
目录中的 link ,环境中的链接仍然存在这样您就不会删除磁盘上的任何物理文件。您唯一可能做的真正删除操作是仅由 base 引用,即,唯一的副本位于pkgs
中,因此有可能破坏 base
我强烈建议您查看this other post on estimating the real disk usage of Conda。您可能高估了实际使用了多少空间。对于pkgs
中的大多数文件,只有一个物理副本,因此无需进行任何其他手动优化。
答案 1 :(得分:3)
实际上,在某些情况下,可以删除pkgs
子目录。如Anaconda社区支持here所述,“ pkgs
目录只是一个缓存。您可以根据需要完全删除它。
但是,在创建新环境时,将所有程序包保留在缓存中会更有效。”
根据documentation,您可以使用conda clean --packages
删除pkgs
中未使用的软件包(这会将它们移动到pkgs/.trash
,您可以从中安全地删除它们)。虽然这不会检查使用返回到程序包缓存的符号链接安装的程序包,但是如果您不使用此类环境或在Windows下工作,则不是主题。我想这就是conda clean --packages
包含在conda clean --all
中的原因。
要更积极地节省空间,您可以使用conda clean --force-pkgs-dirs
删除所有可写的程序包缓存(同样的警告是,可能有环境链接到这些目录)。如果您不使用环境或在Windows下使用Anaconda,则可能很安全。就个人而言,我使用此选项没有问题。