Ошибка атрибута Python: модуль ‘rpm’ не имеет атрибута ‘TransactionSet’

#python #rpm

#python #обороты в минуту

Вопрос:

Получение этой ошибки ‘Python AttributeError: модуль ‘rpm’ не имеет атрибута ‘TransactionSet’. Установленный модуль rpm, подобный этому pip3, устанавливает rpm. Нужно ли мне устанавливать какие-либо другие модули?

Комментарии:

1. используете ли вы скрипт и вызывается ли он rpm.py случайно ?

Ответ №1:

Я не знаю этого модуля, но надеюсь, что смогу помочь.

Я предполагаю, что вы установили этот модуль через pip install rpm

Официальные документы Pypi гласят: https://pypi.org/project/rpm /

Пакет-заполнитель, чтобы сделать API RPM Python доступным через PyPI.

Прямо сейчас этот пакет просто резервирует имя rpm в PyPI, чтобы избежать возможного конфликта имен с привязками python2-rpm и python3-rpm Python в дистрибутивах Linux на основе RPM.

В отличие от libsolv и libdnf (которые используют CMake и, следовательно, поддаются автоматизации сборки, совместимой с PyPI, с помощью scikit-build), сам rpm по-прежнему использует autotools, поэтому создание для него полезных привязок Python с возможностью установки в формате pip может быть немного сложнее, чем для других библиотек.

Поэтому размонтируйте этот пакет pip uninstall rpm , а затем установите его из области системы apt-get install python3-rpm .

Возможно, вам нужно переустановить virtualenv like virtualenv --system-site-packages rpm и сделать rpm доступным для virtenv. Потому apt-get install что включит rpm для системного python, а не для virtualenv