Доброе...
Ситуация такая, решил попробовать написать не большой скрипт для поиска новой версии rpm пакета.
Вот такой код:
#!/usr/bin/env python3.4
import os
import sys
import rpm
def readRpmHeader(ts, filename):
    """ read an rpm header. """
    fd = os.open(filename, os.O_RDONLY)
    h = None
    try:
        h = ts.hdrFromFdno(fd)
    except rpm.error as e:
        if str(e) == "error reading package header":
            sys.stderr.write(str(e))
        h = None
    finally:
        os.close(fd)
    return h
def main(argv):
    if len(argv) < 2:
        sys.stderr.write("Usage: %s PACKAGE_NAME...\n" % (argv[0],))
        return 1
    ts = rpm.TransactionSet()
    ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES | rpm._RPMVSF_NODIGESTS)
    fresh_rpms = {}
    for f in argv[1:]:
        if not os.path.exist(f):
            sys.stderr.write("Error: file %r was not found!" % f)
            return 1
    h = readRpmHeader(ts, f)
    name = h[rpm.RPMTAG_NAME]
    if (name not in fresh_rpms
            or rpm.versionCompare(h, fresh_rpms[name]['header']) > 0):
        fresh_rpms[name] = {'header': h, 'filename': f}
    for n, v in fresh_rpms.iteritems():
        print (v['filename'])
    return 0
if __name__ == '__main__':
    sys.exit(main(sys.argv))
Выдает ошибку ImportError: No module named 'rpm'
Менял версии python на 2,7 и на 3,3 - не помогло...
Запустил ipython и проделал все операции в ручную, все работает, import rpm не ругался и дал выполнить команды
Вот что есть:
rpm -qa | grep rpm
rpm-build-4.11.1-25.el7.x86_64
python-deltarpm-3.6-3.el7.x86_64
atrpms-repo-7-7.el7.x86_64
redhat-rpm-config-9.1.0-68.el7.centos.noarch
rpm-python-4.11.1-25.el7.x86_64
rpm-4.11.1-25.el7.x86_64
rpm-sign-4.11.1-25.el7.x86_64
perl-srpm-macros-1-8.el7.noarch
rpm-libs-4.11.1-25.el7.x86_64
deltarpm-3.6-3.el7.x86_64
rpmforge-release-0.5.3-1.el7.rf.x86_64
rpm-build-libs-4.11.1-25.el7.x86_64 
Как можно решить проблему? или в чем, кроме прокладки между монитором и стулом, проблема?)
Спасибо.



