无法加载 DBus 库

无法加载 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/

要么解决这些错误,要么重新安装所有需要的东西。但是我已经没有主意了。有什么建议吗?

答案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啟動成功。

相关内容