【零碎知识】pip install 与 conda install 的区别

时间:2024-01-25 09:24:41

先说结论:推荐优先使用 conda 管理环境和包

pipconda 是两个常用的包管理工具,它们在多个方面存在差异:

  1. 管理系统:
  • pip 是Python包的管理工具,通常用于安装来自Python包索引(PyPI)的软件包。
  • conda 是一个跨平台的包管理和环境管理系统,可以用于安装Python软件包以及其他语言(如R, Scala等)的包。它是为Anaconda发行版特别设计的,但也可以在Miniconda中单独使用。
  1. 软件源:
  • pip 从PyPI下载软件包,PyPI是Python软件包的官方存储库。
  • conda 从Anaconda repository下载软件包,其中不仅包括Python软件包,还有其他语言和应用程序的软件包。
  1. 环境管理:
  • pip 本身不直接提供环境管理功能,但可以与virtualenv或venv(Python 3内置的环境管理工具)结合使用来创建虚拟环境。
  • conda 提供了一个强大的环境管理系统,可以创建隔离的环境以避免不同库文件和版本之间的冲突。
  1. 依赖解决:
  • pip 会安装软件包的依赖项,但不会解决复杂的版本冲突问题,也不会考虑系统级别的库。
  • conda 在安装软件包的同时会解决依赖冲突和版本兼容问题,并确保软件包与操作系统库兼容。
  1. 系统级别的包:
  • pip 主要管理Python软件包,尽管它也能安装C扩展,但不管理系统级别的库或依赖。
  • conda 能管理非Python软件包,甚至包括Python解释器本身和系统类库,是一个更全面的包管理工具。

在实际使用中,condapip 可以在同一个环境中联合使用,但为了避免潜在的包冲突问题,推荐优先使用 conda 管理环境和包,然后仅对那些在Conda中不可用的软件包使用 pip