为什么Conda虚拟环境这么大?

8

出于好奇,我刚刚比较了由Conda创建的虚拟环境目录和由virtualenv创建的虚拟环境目录大小。

$ conda create -p venv_conda python=3.6

$ python -m virtualenv venv_virtualenv

Conda环境在Windows 7上的大小为110MB,而virtualenv环境只需要22MB。前者是后者的五倍之多。有人知道为什么conda环境需要这么多空间吗?

1个回答

3
我在这里阅读了一个回答,链接如下:https://www.reddit.com/r/learnpython/comments/2yurjj/conda_environment_vs_virtualenv/。该回答指出:conda环境的一个好处是它不仅安装Python库,还会安装依赖项(例如安装PyQt时安装Qt)。这使得安装变得更加容易,因此应尽可能使用conda。如果仍然适用,那就是virtualenv环境和conda环境之间巨大差异的原因。

Python的虚拟环境将会这样做:如果没有指定--copies,它将会使用符号链接python可执行文件,并且不会复制包含所有标准库和lib-dyn的python库。此外,也不会复制ldd python的依赖项。因此,创建Python的虚拟环境无法复制到其他计算机上。 - Shuo
@Shuo 你是指 --always-copy 选项吗?无论我是否激活它都没有任何区别。我的 virtualenv 环境大小为22MB。Python可执行文件被复制而不是链接(目前在Windows上,Linux可能会有所不同)。 - MrLeeh
python -m venv --copies。Windows系统不同,一些符号链接实现已经损坏。@MrLeeh - Shuo

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