PyCharm虚拟环境和Anaconda环境有什么区别?

Nag*_*S N 15 python environment pycharm anaconda virtual-environment

当我在PyCharm中创建一个新项目时,它会创建一个新的虚拟环境.我已经读过,当我执行Python脚本时,它们是使用此环境中的解释器而不是系统环境来执行的.所以,如果我需要安装一些软件包,我只能在这个环境中安装它们,而不是在系统环境中安装它们.这很酷.

我也读过有关Anaconda Environment的文章.当我创建一个新的Anaconda环境时,它会创建一个除系统环境之外的新环境.对于我的项目,我可以使用此环境并仅在此处安装所需的包,而不是在主系统环境中.

现在,我的问题是PyCharm创建的虚拟环境与Anaconda创建的环境之间有什么区别?PyCharm创建的虚拟环境大约为15-20MB,而Anaconda的虚拟环境为90MB.所以,必须有所不同.另外,我已经读过我可以配置我的PyCharm来使用Anaconda Environment解释器.

那么,PyCharm和Anaconda创建的环境之间有什么区别?

Sra*_*raw 20

我必须澄清这anaconda只是一个集合.真正的环境经理是conda.miniconda.它只包含管理环境而不是完整anaconda集合的必要部分.

conda超出了简单的Python包管理器,但它是一个系统范围的包管理器.它可以帮助您轻松安装包.一个典型的例子是numpy在Windows上安装.没有conda,它真的很难,因为它需要一个难以获得的特定C编译器.但是conda,numpy只需一个命令即可安装conda install numpy.它将自动解决编译器问题和C依赖关系.


所以,回到你的问题,当您创建一个Pycharm包膜,它会问你哪个env中你要创建:Virtualenv Environment,Conda EnvironmentPipenv Environment.至于我,我通常选择Pipenv Environment这个env将绑定到当前项目并可以生成锁定文件.

在这种情况下,我认为你现在可以理解它:没有一个名为"由PyCharm创建"或"Anaconda"的环境.只有名为"由Virtualenv,Conda或Pipenv创建"的envs.Pycharm只使用并包装其中一个.


那么Conda Environment和之间有什么区别Virtualenv Environment(Pipenv Environment基本上是Virtualenv Environment复杂的pip)?差异来自他们的不同目的.

Conda Environment通常用于"Python用户".他们使用Python作为工具来完成其他一些工作,例如网页抓取,数据挖掘和图像处理.他们对Python知之甚少(因为他们不需要知道),所以conda尽可能自动化.并且他们的任务可以在计算机的任何位置,因此创建的envs conda位于用户范围的目录中.他们有时需要不同的Python版本,这可以在conda但不是virtualenv.

Virtualenv Environment通常用于"Python开发人员".他们使用Python来构建应用程序或包.创建的env Virtualenv通常位于当前项目的目录中.因此,您可以为每个应用程序创建一个env,并轻松管理依赖项.

总结一下:

Conda Environment:

  1. 不仅管理Python包,还管理不同的Python版本和系统范围的依赖项.
  2. Envs位于用户范围的目录中.
  3. 减少环境.

Virtualenv Environment:

  1. 管理Python包.主要目的是为每个应用程序分配依赖关系.
  2. Envs通常位于项目范围的目录中.(虽然pipenv默认情况下在用户范围的目录中创建env,但许多人认为项目目录应该是默认目录.)
  3. 更多envs.(每个应用程序的新环境)

对我来说,我同时使用它们.我conda用来管理不同的Python版本,并用于pipenv管理我的应用程序的依赖项.


小智 5

这两个环境都基于 python 的virtualenv,您可以独立使用它们并根据需要在其中配置(或安装)包,而无需担心冲突。这就是virtualenv的本质。

Anaconda是一个 python 发行版(就像 Linux 发行版一样),它默认根据开发人员的需求添加其他软件包。因此,安装量比安装普通的 python 更大。这也是它的虚拟环境相当大的原因。

Pycharm是一个IDE,恰好支持python的virtualenv功能。因此,如果您愿意,它可以为您创建它。它可以使用普通的 python 发行版来创建它,因此它的大小比使用 Anaconda 这样的发行版要小,正如您所注意到的。

大小问题并不是 Anaconda 特有的,如果您列出 anaconda 为您安装的所有软件包conda list并自己在“轻量级”virtualenv 中手动安装它,您也会看到大小也会增加。我相信你明白我的意思。