擅长:python、mysql、java
<p>其他的答案对细节有一个公平的描述,但我想强调一些高层次的观点。</p>
<p>pip是一个包管理器,它有助于安装、升级和卸载python包。它也适用于虚拟的python环境。</p>
<p>conda是<strong>任何软件(安装、升级和卸载)的包管理器。它也适用于虚拟<strong>系统</strong>环境。</p>
<p>conda的设计目标之一是方便用户对整个软件栈的包管理,其中一个或多个python版本可能只是一个很小的部分。这包括低级库,如线性代数、编译器(如Windows上的mingw)、编辑器、版本控制工具(如Hg和Git)或<em>其他需要分发和管理的工具</em>。</p>
<p>对于版本管理,pip允许您在多个python环境之间切换和管理。</p>
<p>Conda允许您在多个通用环境之间切换和管理,在这些环境中,多个其他东西的版本号可能会有所不同,如C库、编译器、测试套件或数据库引擎等等。</p>
<p>Conda不是以Windows为中心的,但在Windows上,当需要安装和管理需要编译的复杂科学包时,它是目前可用的最佳解决方案。</p>
<p>当我想到在Windows上尝试通过pip编译这些包,或者在需要编译时调试失败的<code>pip install</code>会话,我会流泪。</p>
<p>最后,Continuum Analytics还托管(免费的)<a href="https://binstar.org" rel="noreferrer">binstar.org</a>(现在称为<a href="https://anaconda.org/" rel="noreferrer">anaconda.org</a>),允许常规包开发人员创建自己的自定义(构建!)软件包用户可以从中<code>conda install</code>使用的软件堆栈。</p>