如果我有两个独立的Anaconda环境,并且正在安装两个在每个环境中都相同的包,那么它们是否会安装两次,并占用两倍的存储空间?
即
conda create --name myenv1
conda create --name myenv2
conda activate myenv1
conda install matplotlib
deactivate
conda activate myenv2
conda install matplotlib发布于 2019-08-30 05:44:57
这是一个我一直在思考的问题。不,它不会占用两倍的存储空间。我在一个新的ubuntu 18.04容器中使用了conda版本4.7.10,但你可以在你的conda版本中尝试一下,并验证结果。
默认情况下,在安装anaconda的目录下的envs文件夹中创建环境。对我来说,这就是$HOME/anaconda3。在每次安装之后,您希望运行du -sh $HOME/anaconda3/envs来查看以人类可读格式表示的所用磁盘空间的摘要。
$ 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下的一些文件:
$ 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‘是与文件关联的硬链接的数量。通常一个文件只有一个。每个环境都必须创建另一个指向同一文件的硬链接。
https://stackoverflow.com/questions/57717410
复制相似问题