与 pip 相比,使用 yum 安装 python 包在系统级别上有什么区别?

Mar*_*ark 0 yum rpm python dependencies pip

我想知道 pip、Python 包安装程序和 yum 之间有什么区别?

作为为我的问题提供一些背景的一种方式

我假设第一个答案是因为 PIP 仅用于安装 Python 包,而 yum 安装来自不同类型供应商的包。但是让我们专注于使用这两种工具安装 Python 包作为识别两者之间差异的方法:

我在工作中遇到了一个问题(使用 CentOS6),其中 Django 缺少我尝试安装的 rpm 的依赖项。我认为正确的解决方法是“pip install Django”。但是,当我这样做并重新尝试 'rpm -i' 时,仍然报告 Django 依赖项丢失。

一位更有经验的同事告诉我我所做的事情是错误的,我需要卸载它并且只使用 yum 进行安装。从经验中我知道他不是一个详细说明事情的人,经过一番谷歌搜索后,我仍然一无所知。

我无法理解为什么存在差异,如果两者都安装相同的软件包,那么为什么一个可以作为满足所需依赖项的一种方式,而另一个(pip)则没有。

Rui*_*iro 6

扩展关于yumvs的优秀@dr01 答案pip

yum通常都是由分布安装在官方包在一个单一的操作被更新。此外,系统将更好地获取不会与已安装的软件包以及已由分发维护人员测试的软件包冲突的依赖项。

使用pip,特别是如果你对正在做的事情没有那么丰富的经验,更容易让自己措手不及,最终根据需要配置(或不配置)和/或错误的依赖关系。此外,根据您的配置,可能有不同的pip命令映射到python您可能已安装的不同版本。

在进行安全更新时,您还必须记住更新安装有 的东西pip,这会给系统管理程序带来不必要的复杂性。

总结一下,除非你需要一个特殊版本的 python 库,和/或你在发行版存储库中找不到它,否则使用yum而不是一个pip很好的建议。