我正在编写一个Python 2.7应用程序,它依赖于要安装的几个rpm软件包。计划在不久的将来移植到Python 3。是否有一个简单的函数调用来检查是否安装了在两个版本的Python中均可使用的rpm?
例如
rpm = "binutils"
if package_installed(rpm):
print("{} is installed".format(rpm))
以下内容应与RedHat或CentOS一起使用:
def check_installed_rpm(rpm_name):
yum_base = yum.YumBase()
packages_list = [pkg.__str__() for pkg in yum_base.pkgSack.returnPackages()]
print('Checking if {0} is in yum pkg list'.format(rpm_name))
for rpm_name_in_repo in packages_list:
if rpm_name in rpm_name_in_repo:
print('{0} found in yum pkg list'.format(rpm_name))
return True
else:
print("rpm {0} is not in yum repo!".format(rpm_name))
return False
import os
rpm = 'binutils'
f = os.popen('rpm -qa')
arq = f.readlines()
if rpm in arq:
print("{} is installed".format(rpm))