删除并重新安装与 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
啟動成功。