Some python packages could not be installed during hplip-3.20.5 installing on Ubuntu 20.04

13,438

Solution 1

In fact there is some troubles using hplip-3.20.6 on Ubuntu 20.04. The installation complains about pyqt5. My workaround is to install hplib-3.20.6 with the custom option (instead of automatic). You can install hplib without qt support (without: Graphical User Interfaces (Qt5)). In a terminal please run:

./hplip-3.20.6.run

Now you can select the custom installation and disable qt5:

Do you wish to enable 'Graphical User Interfaces (Qt5)' (y=yes*, n=no, q=quit) ? n

You get:

INSTALLATION MODE
-----------------
Automatic mode will install the full HPLIP solution with the most common options.
Custom mode allows you to choose installation options to fit specific requirements.

Please choose the installation mode (a=automatic*, c=custom, q=quit) : c


INTRODUCTION
------------
This installer will install HPLIP version 3.20.6 on your computer.
Please close any running package management systems now (YaST, Adept, Synaptic, Up2date, etc).


DISTRO/OS CONFIRMATION
----------------------
Distro appears to be Ubuntu 20.04.

Is "Ubuntu 20.04" your correct distro/OS and version (y=yes*, n=no, q=quit) ? y


DRIVER OPTIONS
--------------
Would you like to install Custom Discrete Drivers or Class Drivers ( 'd'= Discrete Drivers*,'c'= Class Drivers,'q'= Quit)?   : d

Initializing. Please wait...


SELECT HPLIP OPTIONS
--------------------
You can select which HPLIP options to enable. Some options require extra dependencies.

Do you wish to enable 'Network/JetDirect I/O' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'Graphical User Interfaces (Qt5)' (y=yes*, n=no, q=quit) ? n
Do you wish to enable 'PC Send Fax support' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'Scanning support' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'HPLIP documentation (HTML)' (y=yes*, n=no, q=quit) ? y

I hope this comment will be usefull, Regards.

Solution 2

There is a solution, it took a while. I have just compiled hplip 3.20.9 with Qt5. And used below discussion hint to solve python-PyQt5 missing dependency: https://answers.launchpad.net/hplip/+question/691141 Seems now printers start working with Ubuntu 20.04.

    HP Linux Imaging and Printing System (ver. 3.20.9)
    Dependency/Version Check Utility ver. 15.1

Copyright (c) 2001-18 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.

Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or --compile): Use this mode before compiling the HPLIP supplied tarball (.tar.gz or .run) to determine if the proper dependencies are installed to successfully compile HPLIP.                                
2. Run-time check mode (-r or --run): Use this mode to determine if a distro supplied package (.deb, .rpm, etc) or an already built HPLIP supplied tarball has the proper dependencies installed to successfully run.                         
3. Both compile- and run-time check mode (-b or --both) (Default): This mode will check both of the above cases (both compile- and run-time dependencies).                                                                                    

Check types:                                                                                                                                                                                                                                  
a. EXTERNALDEP - External Dependencies                                                                                                                                                                                                        
b. GENERALDEP - General Dependencies (required both at compile and run time)                                                                                                                                                                  
c. COMPILEDEP - Compile time Dependencies                                                                                                                                                                                                     
d. [All are run-time checks]                                                                                                                                                                                                                  
PYEXT SCANCONF QUEUES PERMISSION                                                                                                                                                                                                              

Status Types:
    OK
    MISSING       - Missing Dependency or Permission or Plug-in
    INCOMPAT      - Incompatible dependency-version or Plugin-version

 
---------------
| SYSTEM INFO |
---------------

 Kernel: 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 GNU/Linux
 Host: Kodibuntu
 Proc: 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 GNU/Linux
 Distribution: 12 20.04
 Bitness: 64 bit


-----------------------
| HPLIP CONFIGURATION |
-----------------------

HPLIP-Version: HPLIP 3.20.9
HPLIP-Home: /usr/share/hplip
HPLIP-Installation: Auto installation is supported for ubuntu distro  20.04 version 

Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf.  Generated from hplip.conf.in by configure.

[hplip]
version=3.20.9

[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/HP
ppdbase=/usr/share/ppd
doc=/usr/share/doc/hplip-3.20.9
html=/usr/share/doc/hplip-3.20.9
icon=/usr/share/applications
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv/hp
bin=/usr/bin
apparmor=/etc/apparmor.d
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
libusb01-build=no
pp-build=no
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
hpijs-install=no
foomatic-drv-install=no
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.20.9
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=no
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no
class-driver=no


Current contents of '/var/lib/hp/hplip.state' file:
Plugins are not installed. Could not access file: No such file or directory

Current contents of '~/.hplip/hplip.conf' file:
[upgrade]
notify_upgrade = false
last_upgraded_time = 1518909741
pending_upgrade_time = 0
latest_available_version = 3.17.10

[settings]
systray_visible = 0
systray_messages = 0

[last_used]
device_uri = hp:/usb/Photosmart_7400_series?serial=CN53C2Z1HKUJ
printer_name = Photosmart_7400
working_dir = .

[commands]
scan = /usr/bin/xsane -V %SANE_URI%

[refresh]
rate = 30
enable = false
type = 1

[polling]
enable = false
interval = 5
device_list = 

[fax]
voice_phone = 
email_address = 

[installation]
date_time = 10/06/20 02:33:45
version = 3.20.9


 <Package-name>        <Package-Desc>      <Required/Optional> <Min-Version> <Installed-Version> <Status>   <Comment>

-------------------------
| External Dependencies |
-------------------------

 cups                 CUPS - Common Unix Printing System                           REQUIRED        1.1             2.3.1           OK         'CUPS Scheduler is running'
 gs                   GhostScript - PostScript and PDF language interpreter and previewer REQUIRED        7.05            9.50            OK         -
 xsane                xsane - Graphical scanner frontend for SANE                  OPTIONAL        0.9             0.999           OK         -
 scanimage            scanimage - Shell scanning program                           OPTIONAL        1.0             1.0.29          OK         -
 dbus                 DBus - Message bus system                                    REQUIRED        -               1.12.16         OK         -
 policykit            PolicyKit - Administrative policy framework                  OPTIONAL        -               0.105           OK         -
 network              network -wget                                                OPTIONAL        -               1.20.3          OK         -
 avahi-utils          avahi-utils                                                  OPTIONAL        -               0.7             OK         -

------------------------
| General Dependencies |
------------------------

 libjpeg              libjpeg - JPEG library                                       REQUIRED        -               -               OK         -
 cups-devel           CUPS devel- Common Unix Printing System development files    REQUIRED        -               2.3.1           OK         -
 cups-image           CUPS image - CUPS image development files                    REQUIRED        -               2.3.1           OK         -
 libpthread           libpthread - POSIX threads library                           REQUIRED        -               b'2.31'         OK         -
 libusb               libusb - USB library                                         REQUIRED        -               1.0             OK         -
 sane                 SANE - Scanning library                                      REQUIRED        -               -               OK         -
 sane-devel           SANE - Scanning library development files                    REQUIRED        -               -               OK         -
 libavahi-dev         libavahi-dev                                                 REQUIRED        -               -               OK         -
 libnetsnmp-devel     libnetsnmp-devel - SNMP networking library development files REQUIRED        5.0.9           5.8             OK         -
 libcrypto            libcrypto - OpenSSL cryptographic library                    REQUIRED        -               1.1.1           OK         -
 python3X             Python 2.2 or greater - Python programming language          REQUIRED        2.2             3.8.2           OK         -
 python3-notify2      Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL        -               -               OK         -
 python3-pyqt5-dbus   PyQt 5 DBus - DBus Support for PyQt5                         OPTIONAL        5.0             5.14.1          OK         -
 python3-pyqt5        PyQt 5- Qt interface for Python (for Qt version 4.x)         REQUIRED        5.0             5.14.1          OK         -
 python3-dbus         Python DBus - Python bindings for DBus                       REQUIRED        0.80.0          1.2.16          OK         -
 python3-xml          Python XML libraries                                         REQUIRED        -               2.2.9           OK         -
 python3-devel        Python devel - Python development files                      REQUIRED        2.2             3.8.2           OK         -
 python3-pil          PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL        -               7.0.0           OK         -
 python3-reportlab    Reportlab - PDF library for Python                           OPTIONAL        2.0             3.5.34          OK         -

--------------
| COMPILEDEP |
--------------

 libtool              libtool - Library building support services                  REQUIRED        -               2.4.6           OK         -
 gcc                  gcc - GNU Project C and C++ Compiler                         REQUIRED        -               9.3.0           OK         -
 make                 make - GNU make utility to maintain groups of programs       REQUIRED        3.0             4.2.1           OK         -

---------------------
| Python Extentions |
---------------------

 cupsext              CUPS-Extension                                               REQUIRED        -               3.20.9          OK         -
 hpmudext             IO-Extension                                                 REQUIRED        -               3.20.9          OK         -

----------------------
| Scan Configuration |
----------------------

 hpaio                HPLIP-SANE-Backend                                           REQUIRED        -               3.20.9          OK         'hpaio found in /etc/sane.d/dll.conf'
 scanext              Scan-SANE-Extension                                          REQUIRED        -               3.20.9          OK         -

Solution 3

Try installing pyqt5 with pip:

sudo apt install python-pip
pip install pyqt5
pip install pyqt5.sip

or if your version of hplip requires python3:

sudo apt install python3-pip
pip3 install pyqt5
pip3 install pyqt5.sip

Solution 4

To summarize a solution previously alluded to (from Bartosz), what worked for me was to basically change the python symlink in /usr/bin to point to Python 3 instead of Python 2, as described in one of the answers at https://answers.launchpad.net/hplip/+question/691141.

cd /usr/bin
sudo unlink python
sudo ln -s /usr/bin/python3 python

Solution 5

I've been experienced this issue and also very struggle to find the solution because the problem seems I haven't installed pyqt5 but it's already installed (using python3) borrowed from this gist

pip3 install --user pyqt5  
sudo apt-get install python3-pyqt5  
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

Finally, I found a website describing HPLIP problem on ubuntu exactly as I had at here https://ubuntuhandbook.org/index.php/2021/07/install-latest-hplip-ubuntu-20-04-fix/

The problem is because by default HPLIP installer using python at /usr/bin/python and that refers to python2.7 which is unrelated with the installed pyqt5 at my python3

So based on that site, I choose to use update-alternatives to switch python version to python3 when the installer using /usr/bin/python

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

the first command is to add python2 at option number 1, and the second one is to add python3 at option number 2.

Here's the screenshot of when I switch to python3 and python2, before starting the installation again using python3 as the default one

example switch python version

Share:
13,438
Gryu
Author by

Gryu

Nothing special

Updated on September 18, 2022

Comments

  • Gryu
    Gryu almost 2 years

    After upgrade from 19.10 to 20.04 I've autoremoved a lot of deprecated packages. During hplip upgrade I've confirmed using maintainer's version of configuration files. But after Ubuntu restarting, hp 1020 printer stopped printing. Hplip toolbox hanged each time I was refreshing its window. So I've purged and uninstalled hplip completely.

    Installing using this guide installs hplip 3.20.3 version which have been installed earlier.

    So I've downloaded 3.20.5 version from here for Ubuntu, chmoded it with x permission and run it: ./hplip-3.20.5.run.

    It asked if I want to install missing dependencies:

    Package-Name         Component            Required/Optional   
    pyqt5-dbus           gui_qt5              OPTIONAL            
    reportlab            fax                  OPTIONAL            
    pyqt5                gui_qt5              REQUIRED            
    python-notify        gui_qt5              OPTIONAL
    

    I said y, but, for python-pyqt5 package I've got:

    error: Command failed. Re-try #3...
    Running 'sudo apt-get install --assume-yes python-pyqt5'
    Please wait, this may take several minutes...
    error: Package install command failed with error code 100
    

    For python-dbus.mainloop.pyqt5 package:

    error: Command failed. Re-try #3...
    Running 'sudo apt-get install --assume-yes python-dbus.mainloop.pyqt5'
    Please wait, this may take several minutes...
    error: Package install command failed with error code 100
    

    For python-notify package:

    error: Command failed. Re-try #3...
    Running 'sudo apt-get install --assume-yes python-notify'
    Please wait, this may take several minutes...
    error: Package install command failed with error code 100
    

    For python-reportlab:

    error: Command failed. Re-try #3...
    Running 'sudo apt-get install --assume-yes python-reportlab'
    Please wait, this may take several minutes...
    error: Package install command failed with error code 100
    

    I've skipped these packages installation because it was impossible to install them. At the end, I've got the next errors:

    warning: Some HPLIP functionality might not function due to missing package(s).
    error: A required dependency 'pyqt5 (PyQt 5- Qt interface for Python (for Qt version 4.x))' is still missing.
    
    
    RUNNING POST-PACKAGE COMMANDS
    -----------------------------
    OK
    
    
    RE-CHECKING DEPENDENCIES
    ------------------------
    error: A required dependency 'pyqt5 (PyQt 5- Qt interface for Python (for Qt version 4.x))' is still missing.
    error: Installation cannot continue without this dependency.
    error: Please manually install this dependency and re-run this installer.
    

    I've also downloaded hplip-3.20.5-plugin.run from here

    $ bash hplip-3.20.5-plugin.run
    Verifying archive integrity... All good.
    Uncompressing HPLIP 3.20.5 Plugin Self Extracting Archive..............................................................
    Error setting home directory: /etc/hp/hplip.conf not found. Is HPLIP installed?
    

    Universe/Multiverse repositories are enabled, but:

    $ apt-cache search python-pyqt5
    python-pyqt5.qwt-doc - Python Qwt6 technical widget library, documentation and examples
    $ apt-cache search python-reportlab
    python-reportlab-doc - Documentation for the ReportLab Python library (PDF format)
    $ apt-cache search python-dbus.mainloop.pyqt5
    $ apt-cache search python-notify
    python3-notify2 - desktop notifications API for Python 3
    

    Packages python3-pyqt5, python3-reportlab, python3-notify2, python3-dbus.mainloop.pyqt5 are installed and are already the newest versions.

    I could also see, for example, python-pyqt5 package is available in 19.10 repository, but this package requires qtbase-abi-5-12-4 package which does not exist there in eoan's repository. 18.04's python-pyqt5 package requires different qtbase-abi package, which is not present in bionic's repository.

    Does it mean, phlip-3.20.5 is not compatible with 20.04 or maybe there some additional repository exists which contains these four packages and theirs dependencies?

    Update:

    • Installed hplip, hplip-data, hplip-gui packages.

    • Launched hplip-gui from launcher

    • Received the log in journalctl -f:

        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: error: Unable to locate models.dat file
        Jun 07 23:14:13 ubuntu /hp-toolbox[17823]: [17823]: error: Unable to locate models.dat file
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: HP Linux Imaging and Printing System (ver. 0.0.0)
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: HP Device Manager ver. 15.0
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: Copyright (c) 2001-18 HP Development Company, LP
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: This software comes with ABSOLUTELY NO WARRANTY.
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: This is free software, and you are welcome to distribute it
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: under certain conditions. See COPYING file for more details.
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: Traceback (most recent call last):
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]:   File "/usr/bin/hp-toolbox", line 269, in <module>
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]:     QApplication, ui_package = utils.import_dialog(ui_toolkit)
        Jun 07 23:14:13 ubuntu hplip.desktop[17823]: TypeError: cannot unpack non-iterable NoneType object
      

    hplip-gui have not been started: nothing appeared on the desktop.

    Newer hplip-3.20.6 also does not support Ubuntu 20.04.

  • Gryu
    Gryu about 4 years
    E: Unable to locate package python-pip, ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none) ERROR: No matching distribution found for pyqt5, ERROR: No matching distribution found for pyqt5.sip
  • Gryu
    Gryu about 4 years
    pip3 install pyqt5 Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages (5.14.1)
  • matanster
    matanster almost 4 years
    this does not seem to solve it
  • Gryu
    Gryu almost 4 years
    Ok, thank you for the option
  • Schtroumpf à Lunettes
    Schtroumpf à Lunettes almost 4 years
    Clever option. Can finish hplip and plugin installation. But my scanner still don't scan.
  • Joe
    Joe over 3 years
    What do you mean by this statement: "I have just compiled hplip 3.20.9 with Qt5."? I'm having the same problem (can't install hplip version 3.20.9 on Ubuntu 20.04) and haven't figured out yet how to solve this.
  • Nmath
    Nmath over 3 years
    While the link may answer the question, it's best if you would please explain your answer here in your contribution to AskUbuntu.
  • Jurjen
    Jurjen over 3 years
    I took the advice to check & update the symlink for Python, in /usr/bin, from that linked thread (I changed it from 2 to 3.8). Afterwards hplip installed without issues. Getting the scan plug in was another issue, the HP gui didn't do much so I downloaded that from developers.hp.com/hp-linux-imaging-and-printing/plugins and ran it manually. Printing and scanning now work fine for me.
  • Huw Walters
    Huw Walters over 3 years
    Nice, didn't think of disabling the GUI options.
  • Diego Alberto Zapata Häntsch
    Diego Alberto Zapata Häntsch over 2 years
    This solution works too, the post that this user mention on this answer helps a lot and solves the issue also in the post you will find the answer of the @Stephan Schielke as one of the two possible solutions.
  • Diego Alberto Zapata Häntsch
    Diego Alberto Zapata Häntsch over 2 years
    This answer works but as a workaround the answer of the user @Aditya Kresna Permana is more accurate.
  • Diego Alberto Zapata Häntsch
    Diego Alberto Zapata Häntsch over 2 years
    Works are one of the two options to solve the problem mentioned in the post that @Aditya Kresna Permana suggested.