conda中的环境是pyenv的包装器吗?

时间:2014-12-27 07:32:51

标签: python anaconda conda

conda的envs是pyenv的包装器,类似的版本还是一个独特的实现?它们看起来完全相同,但我不确定。它们可以互换吗?

2 个答案:

答案 0 :(得分:3)

来自conda blog post

  

在幕后,我们创建了一个概念上类似于virtualenvs的环境概念,但它使用文件系统级硬链接来创建完全独立的Python运行时布局。通过使用'conda'命令行工具,用户可以轻松地在环境之间切换,创建环境,并在其中安装不同版本的库和模块。

它们相似但不可互换。

答案 1 :(得分:2)

Python virtualenvs(或pyvenvs)是特定于Python的。创建一个假装是Python的独特安装的环境,同时重用基础Python中的一些数据。只有Python软件包可以安装到virtualenv中,因为这是唯一有意义的东西。

Conda环境不是特定于Python的。任何类型的包都可以是conda包(Python包,C库,R包,Python本身......),任何conda包都可以安装到conda环境中。每个conda环境本质上是对每个包中的每个文件的完全独立安装(包括所有Python本身)。这是使用硬链接有效完成的。