Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。它不仅仅是 Python 的包管理器,而是一个通用的包管理器,当初设计时被用来管理任何语言的包。
Conda 的主要功能是解决库的安装和版本的管理问题。例如,Python 的版本比较多,并且它的库也非常广泛,同时库和库之间存在很多依赖关系,所以在库的安装和版本的管理上可能会遇到一些困难。Conda 可以帮助我们解决这些问题,使得库的安装和版本的管理变得非常容易。
Python 是一种编程语言,而 Conda 是用来管理 Python(以及其他语言)的环境和包的工具。所以说,Python 和 Conda 是两种完全不同的东西,它们分别代表了编程语言和环境/包管理工具。
举个例子来说明 Conda 的使用。假设你正在使用 Python 3.6 版本进行一个项目,但是现在你想尝试一下 Python 3.8 版本。你可以使用 Conda 创建一个新的环境并在这个环境中安装 Python 3.8 版本:
bash
conda create --name myenv python=3.8
然后你可以使用以下命令激活这个环境¹:
bash
conda activate myenv
现在你就进入了一个 Python 3.8 的环境,在这个环境中你可以安装任何你需要的库,并且这些操作不会影响到你原来的 Python 3.6 环境。当你不再需要这个环境时,你可以使用以下命令删除它:
bash
conda remove --name myenv --all
通过这个例子我们可以看到,Conda 提供了一种简单易用的方式来管理不同版本的 Python 和相关的库¹。
Conda 是一个开源的软件包管理系统和环境管理系统,它几乎支持所有的编程语言。虽然最初是为 Python 设计的,但 Conda 可以打包和分发任何软件。这意味着你可以使用 Conda 来管理几乎任何编程语言的包和环境,包括但不限于 Python、R、Ruby、Lua、Scala、Java、JavaScript、C/ C++、FORTRAN 等。这使得 Conda 成为一个非常强大和灵活的工具,可以满足各种不同的编程需求。
Conda 和 pip 都是用于管理 Python 包的工具,但它们的设计目标和功能有所不同。
Pip 是 Python Packaging Authority 推荐的工具,用于从 Python Package Index (PyPI) 下载第三方包。Pip 可以用来下载和安装 .whl 和源码格式的包,其中用 pip 进行源码安装可能会要求系统中已经成功安装了兼容的编译器以及必要的包。
Conda 则是一个跨平台的包和环境管理器,用于从 Anaconda 和 Anaconda Cloud 中安装和管理 conda 包。Conda 使用了一个新的包格式,pip 不能安装和解析 conda 的包格式,因此不能交替使用 pip 和 conda。当我们需要管理的 packages 不仅仅局限于 python 语言时,conda 是更好的选择。
简而言之,conda 比 pip 做的更多,conda 可以调和所有有包 (包括 python 包)之间的库依赖;而 pip 更关注 python 包,会忽略非 python 包的库依赖。常常需要 conda 和 pip 结合使用。
总结一下,pip 是专门用来管理 Python 包的工具,而 conda 是一个更通用的环境和包管理工具,它可以管理 Python 以及其他语言的环境和包。