我的~/anaconda
目录占用了太多的磁盘空间(10GB),尽管我只有五个环境,并且运行了conda清除
。我发现,当我尝试创建一个新的conda环境时,Anaconda会显示一个很长的要下载的包列表,其中似乎包括一个完整的科学Python堆栈(Python解释器、Numpy、sency等)。)。似乎Anaconda正在为每个环境独立安装所有内容。这是真的吗?
以下列表包含一些可能解决空间问题的纯推测性方法:
pip
安装软件包,因为conda安装
经常失败。conda install
是否做了一些聪明的工作来重用已经在其他地方安装的软件包李>(调试信息)~/anaconda/envs
下我的四个环境目录的大小介于1.2GB和2.6GB之间。这正常吗?
我相信你的主要问题的答案在于巨蟒和小型蟒蛇之间的区别。Anaconda包含一长串软件包,这些软件包会自动安装到您创建的每个环境中。Miniconda创建裸骨conda虚拟环境(其中根本不包含许多包)。切换到Miniconda将大大减少环境中的软件包大小/数量。巨蟒的容量约为2GB,而小型巨蟒的容量接近100MB。
Conda还对已安装的包使用硬链接vsconda安装
。硬链接的一个很好的描述可以在这里找到。它们基本上链接了跨多个环境的依赖关系,如上所述。通过pip
安装的包不是硬链接的,所以它们不能利用conda包提供的节省空间。
要创建“继承”包的环境:
您可以导出/导入与yaml文件一起使用的包的名称
或使用--clone
标志<看看这个答案。