Невозможно загрузить библиотеки DBus

После удаления и повторной установки всего, что связано с hplip и hplip-gui несколько раз, но при выполнении hplip-gui я получаю следующие ошибки:

error: Unable to load DBus libraries. Please check your installation and try again.
error: Please upgrade your python installation to the latest available version.

Я смог обновить python, но ошибка все равно появляется.

Моя цель действительно - иметь возможность управлять своим принтером HP с помощью «Диспетчера устройств HP», как показано на этой странице https://www.cyberciti.biz/faq/how-to-install-networked-hp -printer-and-scanner-on-ubuntu-linux /

либо путем устранения этих ошибок, либо путем переустановки всего необходимого с нуля. Но у меня закончились идеи. Есть предложения?

0
задан 2 January 2020 в 13:19

1 ответ

Я не уверен, что это применимо к вашей версии 19.04, так как я сейчас отлаживаю это на Ubuntu 16.04.

Во-первых, полезно запустить hp-check, который проверяет многие аспекты вашей установки hplip. Он говорил мне, что мне не хватает 2 библиотек Python:

 error: python3-notify2 Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL        -               -               MISSING    'python3-notify2 needs to be installed'
...
 error: python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4                         OPTIONAL        4.0             4.11.4          MISSING    'python3-pyqt4-dbus needs to be installed'

ОК, sudo apt install python3-notify2 было достаточно просто, но в 16.04 не было python3-pyqt4-dbus . . Однако ниже он говорит то же самое, но предлагает другое имя пакета:

Missing Optional Dependencies
-----------------------------
error: 'python3-notify2' package is missing/incompatible 
error: 'python3-dbus.mainloop.qt' package is missing/incompatible 

и sudo apt install python3-dbus.mainloop.qt сработало для меня (исправление обоих сообщений)!


Мы также можем найти это в коде:

$ ag --before=5 'Unable to load DBus libraries.' /usr/share/hplip/
/usr/share/hplip/ui4/devmgr5.py
48-try:
49-    import dbus
50-    from dbus.mainloop.qt import DBusQtMainLoop
51-    from dbus import lowlevel
52-except ImportError:
53:    log.error("Unable to load DBus libraries. Please check your installation and try again.")

поэтому ваше сообщение об ошибке должно исходить из одной из этих строк импорта. Открыв интерпретатор python3 и вставив эти строки одну за другой (без пробелов в начале!), я убедился, какая из них не работает:

$ python3
Python 3.5.2 (default, Apr 16 2020, 17:47:17) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import dbus
>>> from dbus.mainloop.qt import DBusQtMainLoop
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'dbus.mainloop.qt'
>>> from dbus import lowlevel
>>> exit()

Затем я выполнил apt search dbus.mainloop.qt и пришел к тому же выводу, что мне нужно sudo apt install python3-dbus.mainloop.qt. (Я действительно сделал это до того, как заметил последнюю подсказку от hp-check :-)

Попробуйте этот анализ на своей Ubuntu.


Теперь hp-toolbox успешно запускается.

0
ответ дан 19 June 2020 в 12:13

Другие вопросы по тегам:

Похожие вопросы: