康达是否取代了对virtualenv的需求?

2024-04-24 06:57:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近发现Conda是在安装SciPy时遇到问题之后,特别是在我正在开发的Heroku应用程序上。

使用Conda可以创建环境,与virtualenv所做的非常相似。我的问题是:

  1. 如果我使用Conda,它会代替virtualenv吗?如果没有,我怎么把两者结合起来?我是在Conda中安装virtualenv,还是在virtualenv中安装Conda?
  2. 我还需要使用pip吗?如果是这样,我还能在一个隔离的环境中安装带有pip的包吗?

Tags: pip应用程序heroku环境virtualenvscipyconda
3条回答

虚拟环境和pip

我要补充的是,creatingremovingconda环境对于Anaconda来说很简单。

> conda create --name <envname> python=<version> <optional dependencies>

> conda remove --name <envname> --all 

activated environment中,通过condapip安装包:

(envname)> conda install <package>

(envname)> pip install <package>

这些环境与conda's pip-like package management紧密相关,因此创建环境并安装Python和非Python包非常简单。


Jupyter

此外,环境中的installing ^{}在Jupyter笔记本的Kernels下拉菜单中添加了一个新列表,将可复制环境扩展到笔记本。从Anaconda 4.1开始,nbextensions were added,向笔记本添加扩展更加容易。

可靠性

以我的经验,conda在安装大型库(如numpypandas)时更快、更可靠。此外,如果希望传输环境的保留状态,可以通过sharingcloningenv来实现。

  1. 康达取代了virtualenv。在我看来更好。它不仅限于Python,还可以用于其他语言。以我的经验,它提供了一个更顺畅的体验,特别是对于科学软件包。我第一次在Mac上正确安装MayaVi是用conda

  2. 您仍然可以使用pip。实际上,conda在每个新环境中安装pip。它知道pip安装的包。

例如:

conda list

列出当前环境中已安装的所有软件包。 Conda安装的软件包显示如下:

sphinx_rtd_theme          0.1.7                    py35_0    defaults

通过pip安装的那些具有<pip>标记:

wxpython-common           3.0.0.0                   <pip>

简单的回答是,你只需要康达。

  1. Conda在单个包中有效地结合了pip和virtualenv的功能,因此如果您使用Conda,就不需要virtualenv。

  2. 你会惊讶于conda支持多少个包。如果还不够,你可以在conda下使用pip。

下面是一个指向conda页的链接,该页比较conda、pip和virtualenv:

https://docs.conda.io/projects/conda/en/latest/commands.html#conda-vs-pip-vs-virtualenv-commands

相关问题 更多 >