我的~/anaconda
目录占用了太多的磁盘空间(10GB),尽管我只有五个环境且运行conda clean
。我发现当我尝试创建一个新的conda环境时,Anaconda显示了一个很长的要下载的包列表,其中包括一个完整的科学Python堆栈(Python解释器,numpy,scipy等)。似乎Anaconda正在为每个环境独立安装所有东西。这是真的吗?
以下列表包含一些可能解决空间问题的纯粹推测方法:
pip
来安装软件包,因为conda install
经常失败。 conda install
做一些聪明的工作来重用已安装在其他地方的软件包吗?(调试信息)~/anaconda/envs
下我的四个环境目录的大小介于1.2GB和2.6GB之间。这是正常的吗?
答案 0 :(得分:3)
我相信您的主要问题的答案在于Anaconda vs Miniconda之间的区别。 Anaconda包含一整套软件包,这些软件包会自动安装到您创建的每个环境中。 Miniconda创建准系统conda虚拟环境(根本不包含很多软件包)。切换到Miniconda可以大大减少环境中软件包的大小/数量。 Anaconda约为2GB,而Miniconda则接近100MB。
Conda还对安装的软件包与conda install
使用硬链接。可以在here中找到对硬链接的良好描述。它们基本上将跨多个环境的依赖关系链接到了您上面所述的位置。通过pip
安装的软件包未进行硬链接,因此无法利用conda软件包所提供的空间节省。
答案 1 :(得分:0)
要创建“继承”软件包的环境:
您可以导出/导入与yaml文件一起使用的软件包的名称。
或使用--clone
标志。
参见this answer。