如何检查是否使用Python安装了rpm软件包?

问题描述 投票:0回答:2

我正在编写一个Python 2.7应用程序,它依赖于要安装的几个rpm软件包。计划在不久的将来移植到Python 3。是否有一个简单的函数调用来检查是否安装了在两个版本的Python中均可使用的rpm?

例如

rpm = "binutils"
if package_installed(rpm):
    print("{} is installed".format(rpm))
python linux installation rpm
2个回答
-1
投票

以下内容应与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

-1
投票
import os

rpm = 'binutils'

f = os.popen('rpm -qa')
arq = f.readlines()
if rpm in arq:
    print("{} is installed".format(rpm))
© www.soinside.com 2019 - 2024. All rights reserved.