如何减少Anaconda目录中的文件数量?

21
我在一台计算机集群上运行conda环境,每个“项目”的文件总数受限制(最多200k个文件)。我只创建了几个conda环境(针对Python 2.7的Anaconda;每个环境安装了大约200个Python和R包;环境之间有很高的包重叠),已经达到了文件数量限制。即使使用“conda clean -a”,仅清除了一小部分文件。我的conda环境中的某些Python包(例如:boost)包含超过10k个文件,而clean无法减少此类文件。
是否有办法< strong> 大幅度 减少作为conda环境一部分存储的文件数量?

3
你需要所有的anaconda软件包吗?安装anaconda将包括数百个软件包,你真的需要全部吗?也许你可以安装miniconda,或者只需创建一个包含你真正需要的软件包的conda环境。 - Paul
是的,我确实需要至少大多数那些软件包。实际上,我甚至还没有添加我想要包含在conda环境中的很多生物信息学软件。我不明白为什么conda需要保留这些软件包分发的所有这些文件。我很惊讶其他人没有遇到与conda环境相关的大量文件的问题。 - sharchaea
那么仅安装必要的软件包的Miniconda也无济于事吗? - Jiren Jin
1
同意使用Miniconda并显式添加软件包。如果性能不是问题,您还可以告诉Python解释器不要生成字节码(*.pyc)文件。 - booleys1012
我会首先删除 pkgs 目录,该目录保存了已下载文件的缓存。 - Vikramaditya Gaonkar
1个回答

2
Anaconda使用硬链接来减少磁盘空间的消耗。但是,如果对文件数目施加了限制,则每个硬链接都会计算在内。
如评论中所讨论的那样,使用Miniconda而不是Anaconda,并仅安装您实际需要的软件包可能有所帮助。
如果这还不够,我建议将几个环境合并成一个环境。然后,对于重叠的软件包,您将拥有较少的硬链接。当然,这与环境的本意相反,但这就是解决问题的方法。
"最初的回答"

5
我很惊讶更多的人没有遇到与新conda环境相关的大量文件问题。即使我们只使用miniconda,每个用户只有几个自己创建的环境,2个环境 x 30个用户 x 5-10k文件_每个环境 = 300k到600k个文件!目前,我们的miniconda安装中有约180万个文件,在运行conda clean --all后仍然如此。 - sharchaea
现在的文件系统已经不再受文件数量的限制。通常会通过磁盘空间配额来限制用户所占用的空间,而不是文件数量。 - Roland Weber
3
对于完整扫描或复制文件系统而言,文件数量的增加会严重减缓速度,特别是当文件数量达到百万级别时。 - sharchaea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接