当前位置: 首页 > 面试题库 >

确定软件包是否已安装Yum Python API?

祖浩淼
2023-03-14
问题内容

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

问题:

因此,有中给出了几个代码示例http://yum.baseurl.org/wiki/YumCodeSnippets,但比内IPython的周围kludging在什么每个方法的猜测等,似乎没有要为任何实际的文件适用于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"


 类似资料:
  • 问题内容: 检查Centos / Redhat中安装的软件包列表的Python方式? 在bash脚本中,我将执行以下操作: 问题答案: TransactionSet()将打开RPM数据库 没有参数的dbMatch将设置一个匹配迭代器以遍历整套已安装的软件包,您可以在匹配迭代器上调用next来获取下一个条目,即代表一个软件包的标头对象 dbMatch也可以用于查询特定的程序包,您需要传递标签的名称以

  • 问题内容: 我已经在Redhat下使用yum安装了ffmpeg,但很难确定将软件包安装到的位置(路径)。是否有一种简便的方法可以确定此结果,而无需自己手动找到它? 问题答案: yum使用RPM,因此以下命令将列出已安装软件包的内容:

  • 问题内容: 检查软件包是否在Python脚本中安装的好方法是什么?我知道从解释器很容易,但是我需要在脚本中完成。 我想我可以检查安装过程中在系统上是否创建了目录,但是我觉得有更好的方法。我试图确保已安装Skype4Py软件包,如果没有,我将安装它。 我完成支票的想法 检查典型安装路径中的目录 尝试导入软件包,如果抛出异常,则安装软件包 问题答案: 如果您的意思是python脚本,请执行以下操作:

  • 我正在尝试用composer安装maddhatter/laravelfullcalendar包(laravelhelper for fullcalendar.io)。下面是我运行的命令: ''php.././composer.phar需要maddhatter/laravel fullcalendar'' 结果是这样的: 将^1.3版用于maddhatter/laravel fullcalendar

  • 问题内容: 当前,如果我运行,它将安装已安装软件包的更新版本。如何安装文件中指定的确切版本? 问题答案: 这种行为实际上是由在package.json中指定版本的行为驱动的。如果版本号看起来像“ 1.0.0”,没有任何其他符号,则应安装确切的版本(1.0.0)。 因此,您可以做的就是简单地修改package.json并运行then。在执行此操作之前,请确保清除node_modules目录。 htt

  • 问题内容: 据我所知,它带有某种含义。后安装我已经运行,以便找到任何子命令能够列出本地安装的,但不幸的是有没有。 那怎么办呢? 问题答案: 现在是历史 被替换为。用于管理外部/第三方库(例如,下载,更新,安装等)。 输入以查看命令行帮助,或查看以下页面: 命令去 关于go命令 (博客文章) 如果要列出已安装的软件包,可以使用以下命令: 列表包 要列出工作空间中的软件包,请转到工作空间文件夹并运行以

  • 问题内容: 我只想将Sublime Text 2软件包( SublimeREPL ) 定向 到 正确的 python安装- 目前,它选择了错误的软件包。 Mac用户熟悉这里的故事。Mac OS随附一个python安装程序,可用于需要python的各种OS东西。与许多其他工具一样,我宁愿不使用此系统python(位于/ System / Library / …中),因为它通常已过时,并且当然,更新它

  • 问题内容: 完成后,我将获得已明确安装的软件包以及与这些软件包相关的软件包。 例如: 好的,但是接下来我将这个Requirements.txt安装在另一个环境中,得到的结果与删除的最后两行相同。 所以我的问题是:我如何创建未显示所有可计算依赖关系的最简化的requirements.txt? 问题答案: 现在有(免责声明:我做到了)。 您所需要做的就是从PyPI安装并在Python环境中运行。 如果