pip和conda有什么区别?

 手机用户2502929821 发布于 2023-02-05 11:13

我知道pip是python包的包管理器.但是,我看到IPython网站conda上的安装用于安装IPython.

我可以pip用来安装IPython吗?conda我已经拥有了为什么要用作另一个python包管理器pip

pip和之间有什么区别conda

7 个回答
  • 引自Conda博客:

    我们长期参与python世界,我们都知道pip,easy_install和virtualenv,但这些工具并不能满足我们所有的特定要求.主要问题是它们专注于Python,忽略了非Python库依赖项,如HDF5,MKL,LLVM等,它们的源代码中没有setup.py,也没有将文件安装到Python的站点中-packages目录.

    所以Conda是一个包装工具和安装程序,旨在做更多的事情pip; 处理Python包之外的库依赖项以及Python包本身.Conda还创建了一个虚拟环境virtualenv.

    因此,Conda应该与Buildout进行比较,这是另一个可以让你处理Python和非Python安装任务的工具.

    因为Conda推出了一种新的包装形式,你不能pip互换使用和Conda; pip无法安装Conda包格式.您可以使用并排的两个工具侧(通过安装pipconda install pip),但他们不具备互操作性无论是.

    2023-02-05 11:14 回答
  • 不要混淆你,但你也可以在你的conda环境中使用pip,它可以验证上面的一般与python特定的管理者评论.

    conda install -n testenv pip
    source activate testenv
    pip <pip command>
    

    您还可以将pip添加到任何环境的默认包中,以便每次都存在,这样您就不必遵循上面的代码段.

    2023-02-05 11:14 回答
  • 这是一个简短的纲要:

    果仁

    仅限Python包.

    从源代码编译所有内容.编辑:pip现在安装二进制轮子,如果它们可用.

    由核心Python社区祝福(即Python 3.4+包括自动提升pip的代码).

    康达

    Python不可知论者.现有软件包的主要关注点是Python,实际上conda本身是用Python编写的,但你也可以为C库或R软件包或任何东西提供conda软件包.

    安装二进制文件.有一个工具称为conda build从源构建包,但conda install它本身安装了已经构建的conda包中的东西.

    外部.Conda是Anaconda的包管理器,它是由Continuum Analytics提供的Python发行版,但它也可以在Anaconda之外使用.您可以通过pip安装将它与现有的Python安装一起使用(尽管除非您有充分的理由使用现有安装,否则不建议这样做).

    在这两种情况下:

    用Python编写

    开源(conda是BSD,pip是麻省理工学院)

    conda的前两个要点实际上是什么使它比许多包装的pip更有利.由于pip是从源代码安装的,如果你无法编译源代码,安装它就会很痛苦(在Windows上尤其如此,但如果软件包有一些困难的C或FORTRAN库,它甚至可以在Linux上运行依赖).Conda从二进制安装,意味着有人(例如,Continuum)已经完成了编译包的艰苦工作,因此安装很容易.

    如果您有兴趣构建自己的包,也会有一些差异.例如,pip建立在setuptools之上,而conda使用自己的格式,这有一些优点(比如静态,再次,Python不可知).

    2023-02-05 11:14 回答
  • 其他答案给出了详细的详细描述,但我想强调一些高级别的要点.

    pip是一个包管理器,便于安装,升级和卸载python包.它也适用于虚拟python环境.

    conda是任何软件(安装,升级和卸载)的软件包管理器.它也适用于虚拟系统环境.

    conda设计的目标之一是促进用户所需的整个软件堆栈的包管理,其中一个或多个python版本可能只是一小部分.这包括低级库,如线性代数,编译器,如Windows上的mingw,编辑器,Hg和Git等版本控制工具,或其他需要分发和管理的工具.

    对于版本管理,pip允许您在多个python环境之间切换和管理.

    Conda允许您在多个通用环境之间切换和管理,其中多个其他内容可能因版本号而异,例如C库,编译器,测试套件或数据库引擎等.

    Conda不是以Windows为中心的,但在Windows上,当需要安装和管理需要编译的复杂科学包时,它是目前可用的优秀解决方案.

    当我想到在Windows上通过pip编译许多这些软件包失去了多少时间,或者pip install在需要编译时调试失败的会话时,我想要哭泣.

    最后,Continuum Analytics还托管(免费)binstar.org(现在称为anaconda.org),允许常规软件包开发人员创建自己的自定义(内置!)软件堆栈,其软件包用户可以从中conda install获得.

    2023-02-05 11:14 回答
  • 对于WINDOWS用户

    "标准"包装工具的情况最近有所改善:

    在pypi本身,截至9月,现在有48%的车轮包装.2015年11月(2015年5月为38%,2014年9月为24%),

    现在支持每个最新的python 2.7.9开箱即用的轮式格式,

    "标准"+"调整"包装工具的情况也在改善:

    你可以在http://www.lfd.uci.edu/~gohlke/pythonlibs找到几乎所有轮式的科学包装,

    mingwpy项目可能会为Windows用户带来一天的"编译"包,允许在需要时从源安装所有内容.

    "Conda"包装对其所服务的市场仍然更好,并突出了"标准" 应该改进的领域.

    (此外,依赖规范多次努力,在标准轮系统和conda系统或buildout中,并不是非常pythonic,如果所有这些包装'核心'技术可以通过某种PEP汇聚,那将是很好的)

    2023-02-05 11:15 回答
  • 引自康达:神话和误解(综合描述):

    ...

    误区3:Conda和pip是直接的竞争对手

    现实:Conda和pip服务于不同的目的,并且只在一小部分任务中直接竞争:即在隔离环境中安装Python包.

    Pip代表P ip I nstalls P ackages,是Python官方认可的软件包管理器,最常用于安装Python Package Index(PyPI)上发布的软件包.pip和PyPI都受Python Packaging Authority(PyPA)的支配和支持.

    简而言之,pip是Python包的通用管理器; conda是一个与语言无关的跨平台环境管理器.对于用户来说,最显着的区别可能就是:pip在任何环境中安装python包; conda在conda环境中安装任何软件包.如果您所做的只是在隔离环境中安装Python包,那么conda和pip + virtualenv大多可以互换,模块化依赖性处理和包可用性方面的差异.隔离环境我指的是conda-env或virtualenv,您可以在其中安装包而无需修改系统Python安装.

    即使放弃神话#2,如果我们只关注Python包的安装,conda和pip会为不同的受众和不同目的服务.如果你想在现有的系统Python安装中管理Python包,conda无法帮助你:按照设计,它只能在conda环境中安装包.如果您想要使用许多依赖于外部依赖项的Python包(NumPy,SciPy和Matplotlib是常见示例),在以有意义的方式跟踪这些依赖项时,pip无法帮助您:按设计,它管理Python包,只管理Python包.

    Conda和pip不是竞争对手,而是专注于不同用户群和使用模式的工具.

    2023-02-05 11:15 回答
  • 引用Conda for Data Science的文章到连续统一网站:

    康达vs pip

    Python程序员可能熟悉pip从PyPI下载包并管理他们的要求.虽然conda和pip都是包管理器,但它们却截然不同:

    Pip特定于Python包,conda与语言无关,这意味着我们可以使用conda来管理来自任何语言的包Pip从源代码编译并且conda安装二进制文件,消除了编译的负担

    Conda本地创建与语言无关的环境,而pip依赖virtualenv来管理Python环境虽然建议始终使用conda包,但conda还包括pip,因此您不必在两者之间进行选择.例如,要安装一个没有conda包但通过pip可用的python包,只需运行,例如:

    conda install pip
    pip install gensim
    

    2023-02-05 11:15 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有