我正在使用conda包管理器 - 很多。到目前为止,我有很多环境,而且很多下载的软件包在我的SSD上占用了大量空间。释放一些空间的明显途径是使用命令
conda env export > environment.yml
从https://conda.io/docs/user-guide/tasks/manage-environments.html#exporting-the-environment-file导出我旧的非活动项目使用的包(d),然后删除这些环境。据我了解,这应该释放anaconda2/envs/
中的部分空格,而不是anaconda2/pkgs/
中的空格。我如何摆脱这些包裹?另外,我怀疑可能还有很多软件包仍然存在,没有环境可以链接到 - 这可能会发生吗?
问题:
sudo apt-get autoremove
。答案 0 :(得分:47)
您可以通过以下方式释放一些空间:
conda clean --all
clean
删除未使用的包和缓存。
Conda在可能的情况下已经使用了符号链接。所以,我猜这里没什么好改进的。
好的,谢谢,但我想知道“不是针对特定环境,而是针对所有环境”。
您可以使用几行Python列出所有env中的所有包:
import os
import subprocess
for env in os.listdir('/Users/me/miniconda3/envs'):
subprocess.call(['conda', 'list', '-n', env])
答案 1 :(得分:0)
最后,我解决了这个问题。最后花了几天的时间:
conda env export > environment.yml
从https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#exporting-the-environment-file来保存环境设置anaconda-clean
,并将创建的备份放置在保存位置。anaconda2
目录重命名为anaconda2_backup
。miniconda3
。environment.yml
开始构建当前项目所需的新环境,并检查其是否有效。最后,我还使用https://blog.shadypixel.com/how-to-shrink-an-lvm-volume-safely/减小了逻辑卷,但这仅适用于使用LVM的Linux用户。
这样,我可以释放20到30 GB的空间。