我想知道 pip、Python 包安装程序和 yum 之间有什么区别?
作为为我的问题提供一些背景的手段:
我认为第一个答案是因为 PIP 仅用于安装 Python 软件包,而 yum 安装来自不同类型供应商的软件包。但让我们重点关注使用这两种工具安装 Python 包,以此来识别两者之间的差异:
我在工作中遇到了一个问题(使用 CentOS6),其中 Django 缺少我尝试安装的 rpm 依赖项。我认为正确的解决方法是“pip install Django”。然而,当我这样做并重新尝试“rpm -i”时,Django 依赖项仍然报告为丢失。
一位经验丰富的同事告诉我,我所做的事情是错误的,我需要卸载它,并且只能使用 yum 安装。根据经验,我知道他不是一个会详细阐述事情的人,经过一番谷歌搜索后我仍然一无所知。
我无法理解为什么会有差异,如果两者都安装相同的包,为什么一个可以作为满足所需依赖关系的一种方法,而另一个(pip)则不能。
答案1
扩展 @dr01 关于yum
vs 的优秀答案pip
:
通常yum
,发行版安装的所有官方软件包都会通过一次操作进行更新。此外,系统将更好地获取不会与已安装的软件包以及已由发行版维护人员测试的软件包发生冲突的依赖项。
使用pip
,特别是如果您对所做的事情没有那么丰富的经验,很容易搬起石头砸自己的脚,并最终根据需要配置(或不配置事物)和/或得到错误的依赖项。此外,根据您的配置,可能有不同的pip
命令映射到python
您可能安装的不同版本。
在进行安全更新时,您还必须记住更新随 一起安装的内容pip
,这会给系统管理过程带来不必要的复杂性。
总而言之,除非您需要特殊版本的 python 库,和/或您无法在分发存储库中找到它,yum
否则使用 代替pip
是一个很好的建议。
答案2
Yum 是操作系统 (CentOS/RedHat) 的包管理器。您可以使用它来安装、更新或删除计算机上的软件。
Pip 是专门用于用 Python 编写的软件的包管理器。仅当您密切使用 Python 时才需要使用它,例如使用 Python 工具或开发 Python 程序。