确定是否使用Yum Python API安装了软件包?

TLDR;我需要简单的Python调用给定一个包名(例如’make’)以查看它是否已安装;如果没有,安装它(我可以做后一部分).

问题:

因此,在http://yum.baseurl.org/wiki/YumCodeSnippets中给出了一些代码示例,但除了在ipython内部克服并猜测每个方法的作用之外,似乎没有任何关于yum的Python API的实际文档.这显然都是部落知识.

[编辑]显然我只是偶然发现了API文档(当然,在收到可接受的答案之后).它没有从主页面链接,但这里是供将来参考:http://yum.baseurl.org/api/yum/

我需要做什么:

我有一个部署配置脚本,它依赖于其他系统包(make,gcc等).我知道我可以像这样安装它们:http://yum.baseurl.org/wiki/YumCodeSnippet/SimplestTransaction但是我希望在这样做之前可以选择查询它们是否已经安装,所以如果不存在包而不是存在,我可以选择简单地失败强行安装.这样做的正确要求是什么(或者更好的是,有没有人真正打算在代码示例之外正确记录API?)

我在这个项目之前从未接触过Python,我真的很喜欢它,但是……有些模块文档比独角兽骑行的妖精更难以捉摸.

import yum

yb = yum.YumBase()
if yb.rpmdb.searchNevra(name='make'):
   print "installed"
else:
   print "not installed"
翻译自:https://stackoverflow.com/questions/8439074/determine-if-package-installed-with-yum-python-api

转载注明原文:确定是否使用Yum Python API安装了软件包?