Python

hp-setup python3 錯誤:無法導入名稱“_gobject”

  • February 24, 2018

我剛開始在 Arch Linux 上遇到這個錯誤。到目前為止,hp-setup 一直執行良好。我不明白錯誤資訊。

惠普設置

HP Linux Imaging and Printing System (ver. 3.17.11)
Printer/Fax Setup Utility ver. 9.0

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Traceback (most recent call last):
 File "/usr/bin/hp-setup", line 313, in <module>
   ui = import_module(ui_package + ".setupdialog")
 File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
   return _bootstrap._gcd_import(name[level:], package, level)
 File "<frozen importlib._bootstrap>", line 994, in _gcd_import
 File "<frozen importlib._bootstrap>", line 971, in _find_and_load
 File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
 File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
 File "<frozen importlib._bootstrap_external>", line 678, in exec_module
 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
 File "/usr/share/hplip/ui5/setupdialog.py", line 31, in <module>
   from base import device, utils, models, pkit
 File "/usr/share/hplip/base/pkit.py", line 38, in <module>
   from gi import _gobject as gobject
ImportError: cannot import name '_gobject'

看到這個錯誤後,我重新安裝了 hplip(它是擁有 hp-setup 文件的軟體包)。

pacman -Qo /usr/share/hplip/setup.py                                                                       
/usr/share/hplip/setup.py is owned by hplip 3.17.11-1

那並沒有解決問題。

錯誤發生在沒有命令行選項(預設為 GUI 模式)或--gui選項的情況下。但是,使用該--interactive選項(這是純文字模式),我沒有收到錯誤消息。

另一台具有相同設置(就安裝的軟體包和設置而言)的 Arch 電腦沒有錯誤(即使在 GUI 模式下)。

更新1:

$ pacman -Qi hplip

Name            : hplip
Version         : 3.17.11-1
Description     : Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet
Architecture    : x86_64
URL             : http://hplipopensource.com
Licenses        : GPL
Groups          : None
Provides        : None
Depends On      : python-dbus  ghostscript  net-snmp  foomatic-db-engine
Optional Deps   : cups: for printing support [installed]
                 sane: for scanner support [installed]
                 xsane: sane scanner frontend [installed]
                 python-pillow: for commandline scanning support
                 python-reportlab: for pdf output in hp-scan
                 rpcbind: for network support [installed]
                 python-pyqt5: for running GUI and hp-toolbox [installed]
                 python-gobject: for running hp-toolbox [installed]
                 libusb: for advanced usb support [installed]
                 wget: for network support [installed]
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 24.55 MiB
Packager        : Andreas Radke
Build Date      : Mon 04 Dec 2017 03:46:16 PM EST
Install Date    : Sun 17 Dec 2017 11:11:35 AM EST
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

解決方案很簡單:

pacman -S --needed python-gobject

確實需要安裝它。

報告pacman -Qi hplip指出:

python-gobject: for running hp-toolbox [installed]

具有誤導性。當我執行時,pacman -Qi python-gobject我發現它實際上並沒有安裝。安裝它解決了這個問題。

引用自:https://unix.stackexchange.com/questions/426035