После удаления и повторной установки всего, что связано с 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 /
либо путем устранения этих ошибок, либо путем переустановки всего необходимого с нуля. Но у меня закончились идеи. Есть предложения?
Я не уверен, что это применимо к вашей версии 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
успешно запускается.