如何在 Linux Mint 20 上安装 python3-pyqt4? HPLIP 依赖​​性

如何在 Linux Mint 20 上安装 python3-pyqt4? HPLIP 依赖​​性

为了安装 HPLIP 3.20.6,我需要安装依赖项 python3-pyqt4。

错误:所需的依赖项“python3-pyqt4(PyQt 4-Python 的 Qt 接口(适用于 Qt 版本 4.x))”仍然丢失。
错误:如果没有此依赖性,安装将无法继续。
错误:请手动安装此依赖项并重新运行此安装程序。

当尝试通过 apt 安装时,出现找不到它的错误。

E: 无法找到包 python3-pyqt4

我该如何安装这个依赖项?

我需要安装 HPLIP 3.20.5 或更高版本才能使用新打印机,因此非常感谢解决此问题的任何帮助。谢谢。

编辑:进一步澄清。我尝试连接的打印机是 HP Envy 6020。HPLIP 支持的设备列表支持 Envy 6000 系列,但至少需要 3.20.5 HPLIP 才能运行。因此,我需要安装该版本,并且需要 python3-pyqt4 才能安装。

答案1

Qt4 在 Mint 20 中已被 Qt5 取代。使用:

apt install python3-pyqt5

它应该是兼容的。

答案2

替代解决方案。将打印机设置为无驱动打印机。

在一些帮助下Linux Mint 论坛我无需使用 HPLIP 即可使打印机正常工作。据我了解,这是通过打印机支持无驱动打印的能力实现的。因为这可能会对将来的某人有所帮助,所以这是要遵循的程序。

  1. 确保打印机和计算机位于同一无线网络中

  2. 使用avavi-browse命令搜索本地无线网络上的设备。使用 CUPSdriverlesslpstat命令列出相关打印机状态

avahi-browse -rt _ipp._tcp
avahi-browse -rt _uscan._tcp
driverless
lpstat -l -e

输出示例avahi-browse -rt _ipp._tcp

➜  ~ avahi-browse -rt _ipp._tcp
+ wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
+ wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
= wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [631]
   txt = ["Fax=F" "mopria-certified=2.0" "Scan=T" "kind=document,envelope,photo,postcard" "URF=CP1,MT1-2-8-9-10-11,PQ3-4-5,RS300-600,SRGB24,OB9,OFU0,W8-16,DEVW8-16,DEVRGB24-48,ADOBERGB24-48,DM3,IS1,V1.4,FN3" "PaperMax=legal-A4" "pdl=application/vnd.hp-PCL,image/jpeg,image/urf,image/pwg-raster,application/PCLm" "Duplex=T" "Color=T" "usb_MDL=ENVY 6000 series" "usb_MFG=HP" "ty=HP ENVY 6000 series" "product=(HP ENVY 6000 series)" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "rp=ipp/print" "TLS=1.2" "qtotal=1" "priority=20" "note=" "adminurl=http://HP3822E2B68C8C.local./#hId-pgAirPrint" "txtvers=1"]
= wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  Internet Printer     local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [631]
   txt = ["Fax=F" "mopria-certified=2.0" "Scan=T" "kind=document,envelope,photo,postcard" "URF=CP1,MT1-2-8-9-10-11,PQ3-4-5,RS300-600,SRGB24,OB9,OFU0,W8-16,DEVW8-16,DEVRGB24-48,ADOBERGB24-48,DM3,IS1,V1.4,FN3" "PaperMax=legal-A4" "pdl=application/vnd.hp-PCL,image/jpeg,image/urf,image/pwg-raster,application/PCLm" "Duplex=T" "Color=T" "usb_MDL=ENVY 6000 series" "usb_MFG=HP" "ty=HP ENVY 6000 series" "product=(HP ENVY 6000 series)" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "rp=ipp/print" "TLS=1.2" "qtotal=1" "priority=20" "note=" "adminurl=http://HP3822E2B68C8C.local./#hId-pgAirPrint" "txtvers=1"]

输出示例avahi-browse -rt _uscan._tcp

➜  ~ avahi-browse -rt _uscan._tcp
+ wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
+ wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
= wlp1s0 IPv4 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [8080]
   txt = ["mopria-certified-scan=1.2" "duplex=F" "is=platen" "cs=binary,color,grayscale" "pdl=application/octet-stream,application/pdf,image/jpeg" "ty=HP ENVY 6000 series" "rs=eSCL" "representation=images/printer.png" "vers=2.63" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "note=" "adminurl=http://HP3822E2B68C8C.local." "txtvers=1"]
= wlp1s0 IPv6 HP ENVY 6000 series [B68C8C]                  _uscan._tcp          local
   hostname = [HP3822E2B68C8C.local]
   address = [192.168.1.190]
   port = [8080]
   txt = ["mopria-certified-scan=1.2" "duplex=F" "is=platen" "cs=binary,color,grayscale" "pdl=application/octet-stream,application/pdf,image/jpeg" "ty=HP ENVY 6000 series" "rs=eSCL" "representation=images/printer.png" "vers=2.63" "UUID=9dddcf7d-2ef9-51a5-8be4-be1e5e3ebfc2" "note=" "adminurl=http://HP3822E2B68C8C.local." "txtvers=1"]

输出示例driverless

➜  ~ driverless
ipp://HP%20ENVY%206000%20series%20%5BB68C8C%5D._ipp._tcp.local/

输出示例lpstat -l -e

➜  ~ lpstat -l -e 
HP_ENVY_6000_series_B68C8C_ permanent ipp://localhost/printers/HP_ENVY_6000_series_B68C8C_ implicitclass://HP_ENVY_6000_series_B68C8C_/
  1. 使用前面命令中的信息设置无驱动打印机。

运行的命令是:

lpadmin -p [PRINTER-NAME] -v [URI] -E -m everywhere

PRINTER-NAME 仅替换为您想要提供的名称。

该 URI 将替换为打印机的 URI。有两种方法可以实现此目的。您可以使用该命令的输出driverless。这最初对我有用,直到我重新启动计算机,然后它停止工作。另一种选择是使用avahi-browse格式中的命令中列出的 IPipp://[IP]/ipp/print来指向打印机的确切位置。可以通过登录路由器来双重检查该 IP。完整命令示例:

➜  ~ lpadmin -p envy6000 -v ipp://192.168.1.190:631/ipp/print -E -m everywhere
  1. 打印测试页以确保其正常工作

➜ ~ lp -d envy6000 /etc/nsswitch.conf

应该是这样。现在应该可以通过所有程序进行打印,并可以在打印机对话框中找到它。

相关内容