Linux-Mint

如何在 Linux Mint 20 上安裝 python3-pyqt4?HPLIP 依賴

  • August 4, 2020

為了安裝 HPLIP 3.20.6,我需要安裝依賴項 python3-pyqt4。

錯誤:仍然缺少必需的依賴項“python3-pyqt4(Python 的 PyQt 4-Qt 介面(用於 Qt 版本 4.x))”。

錯誤:如果沒有此依賴項,安裝將無法繼續。

錯誤:請手動安裝此依賴項並重新執行此安裝程序。

嘗試通過 apt 安裝時,出現找不到它的錯誤。

E: 無法定位包 python3-pyqt4

如何安裝此依賴項?

我需要安裝 HPLIP 3.20.5 或更高版本才能使用新列印機,因此非常感謝任何幫助解決此問題。謝謝你。

編輯:進一步澄清。我嘗試連接的列印機是 HP Envy 6020。在支持的設備的 HPLIP 列表中,支持Envy 6000 系列,但它至少需要 3.20.5 HPLIP 才能執行。Ergo,我需要安裝那個版本,它需要 python3-pyqt4 才能安裝。

另一種解決方案。將列印機設置為無驅動程序列印機。

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

應該是這樣的。它現在應該通過所有程序列印並在列印機對話框中找到。

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

apt install python3-pyqt5

它應該是兼容的。

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