繁体   English   中英

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

[英]What is the difference between PyCharm Virtual Environment and Anaconda Environment?

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

我还阅读了有关 Anaconda Environment 的信息。 当我创建一个新的 Anaconda 环境时,它会创建一个除系统环境之外的新环境。 对于我的项目,我可以使用这个环境并且只在此处安装所需的包,而不是在主系统环境中。

现在,我的问题是 PyCharm 创建的虚拟环境和 Anaconda 创建的环境有什么区别? PyCharm 创建的虚拟环境大约为 15-20MB,而 Anaconda 为 90MB。 所以,一定是有区别的。 另外,我已经读到我可以配置我的 PyCharm 以使用 Anaconda Environment 解释器。

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

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

conda不仅仅是一个简单的 Python 包管理器,而是一个系统范围的包管理器。 它将帮助您轻松安装软件包。 一个经典的例子是在 Windows 上安装numpy 没有conda ,真的很困难,因为它需要一个很难获得的特定 C 编译器。 但随着conda ,您可以安装numpy只用一个命令conda install numpy 它将自动解决编译器问题和 C 依赖项。


回到您的问题,当您在 Pycharm 中创建 env 时,它会询问您要创建哪个 env: Virtualenv EnvironmentConda EnvironmentPipenv Environment 至于我,我通常选择Pipenv Environment因为这个 env 会绑定到当前项目并且可以生成一个锁定文件。

在这种情况下,我想您现在可以理解了:没有名为“由 PyCharm 创建”或“Anaconda”的环境。 只有名为“由 Virtualenv、Conda 或 Pipenv 创建”的环境。 而 Pycharm 只是使用并包装了其中之一。


那么Conda EnvironmentVirtualenv Environment ( Pipenv Environment本质上是一个带有复杂pipVirtualenv Environment ) 之间有什么区别? 不同之处在于他们不同的目的。

Conda Environment通常用于“Python 用户”。 他们使用 Python 作为工具来完成一些其他工作,例如网络爬虫、数据挖掘和图像处理。 他们对 Python 了解不多(因为他们不需要知道)所以conda尽可能是自动的。 而他们的任务可以在电脑中任何地方,通过创建ENVS conda位于用户级目录。 他们有时需要不同的 Python 版本,这可以在conda完成,但不能在virtualenv

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

总结:

Conda Environment

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

Virtualenv Environment

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

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

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

Anaconda是一个 python 发行版(就像 linux 发行版),默认情况下,它会根据开发人员需要的意见添加其他软件包。 因此,安装比安装普通的 vanilla python 更大。 这也是它的虚拟环境相当大的原因。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM