首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单独的Anaconda环境是否会将同一软件包安装两次,从而占用两倍的存储空间?

单独的Anaconda环境是否会将同一软件包安装两次,从而占用两倍的存储空间?
EN

Stack Overflow用户
提问于 2019-08-30 04:32:36
回答 1查看 1.3K关注 0票数 9

如果我有两个独立的Anaconda环境,并且正在安装两个在每个环境中都相同的包,那么它们是否会安装两次,并占用两倍的存储空间?

代码语言:javascript
复制
conda create --name myenv1

conda create --name myenv2

conda activate myenv1

conda install matplotlib

deactivate

conda activate myenv2

conda install matplotlib
EN

回答 1

Stack Overflow用户

发布于 2019-08-30 05:44:57

这是一个我一直在思考的问题。不,它不会占用两倍的存储空间。我在一个新的ubuntu 18.04容器中使用了conda版本4.7.10,但你可以在你的conda版本中尝试一下,并验证结果。

默认情况下,在安装anaconda的目录下的envs文件夹中创建环境。对我来说,这就是$HOME/anaconda3。在每次安装之后,您希望运行du -sh $HOME/anaconda3/envs来查看以人类可读格式表示的所用磁盘空间的摘要。

代码语言:javascript
复制
$ du -sh $HOME/anaconda3/envs
4.0K    /root/anaconda3/envs

$ conda create --name myenv1 -y
$ conda create --name myenv2 -y
$ conda install matplotlib -n myenv1 -y

$ du -sh $HOME/anaconda3/envs
338M    /root/anaconda3/envs


$ conda install matplotlib -n myenv2 -y

$ du -sh $HOME/anaconda3/envs
357M    /root/anaconda3/envs

多使用了19M,但不是两倍。

现在的问题是,他们如何避免加倍的空间,寻找和envs目录,我没有看到任何符号链接。因此,我查看了myenv2下的一些文件:

代码语言:javascript
复制
$ ls -lh /root/anaconda3/envs/myenv2/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf
-rw-rw-r--. 3 root root 688K Jul  1 06:19 /root/anaconda3/envs/myenv2/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans-Bold.ttf

在权限之后、文件和组所有者之前的'3‘是与文件关联的硬链接的数量。通常一个文件只有一个。每个环境都必须创建另一个指向同一文件的硬链接。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57717410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档