Comment 9 for bug 1047860

Revision history for this message
Hendrik Donner (hendrik-donner) wrote :

Hi,
well i actually have both python2 and python3 but /usr/bin/python is a symlink to python3:
ls -la | grep python
lrwxrwxrwx 1 root root 7 Sep 29 18:03 python -> python3*
lrwxrwxrwx 1 root root 9 Apr 24 2012 python2 -> python2.7*
-rwxr-xr-x 1 root root 6248 Apr 24 2012 python2.7*
-rwxr-xr-x 1 root root 1618 Apr 24 2012 python2.7-config*
lrwxrwxrwx 1 root root 16 Apr 24 2012 python2-config -> python2.7-config*
-rwxr-xr-x 1 root root 94 Oct 18 11:59 python2-pyuic4*
lrwxrwxrwx 1 root root 9 Sep 29 18:03 python3 -> python3.3*
-rwxr-xr-x 2 root root 10376 Sep 29 18:03 python3.3*
lrwxrwxrwx 1 root root 17 Sep 29 18:03 python3.3-config -> python3.3m-config*
-rwxr-xr-x 2 root root 10376 Sep 29 18:03 python3.3m*
-rwxr-xr-x 1 root root 1964 Sep 29 18:03 python3.3m-config*
lrwxrwxrwx 1 root root 16 Sep 29 18:03 python3-config -> python3.3-config*
lrwxrwxrwx 1 root root 14 Sep 29 18:03 python-config -> python3-config*

Please read http://www.python.org/dev/peps/pep-0394/. It clearly states that /usr/bin/python can symlink to python3. That's why the Arch hplip package build script uses some sed magic:

sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' setup.py makeuri.py logcapture.py base/magic.py
 sed -i '1s|#!/usr/bin/python|#!/usr/bin/python2|' ui/upgradeform.py uninstall.py upgrade.py config_usb_printer.py
 sed -i 's|python ./print.py|python2 ./print.py|' scan.py
 sed -i 's|python ./testpage.py|python2 ./testpage.py|' setup.py
 sed -i 's|python ./setup.py|python2 ./setup.py|' ui4/devmgr5.py ui4/nodevicesdialog.py
 sed -i 's|python %HOME%|python2 %HOME%|' base/utils.py
 sed -i 's|python ./plugin.py|python2 ./plugin.py|' base/pkit.py

The #!/usr/bin/python2 shebang is always the right thing to use for python2 code.

So changing that symlink might probably break my system, but let's have a try:

Automatic installer:
warning: CUPSEXT could not be loaded. Please check HPLIP installation.

Manuell installer:
./configure && make && make install work, however hp-setup errors out:
Traceback (most recent call last):
  File "/usr/local/bin/hp-setup", line 45, in <module>
    from base import device, utils, tui, models, module
  File "/usr/local/share/hplip/base/device.py", line 39, in <module>
    import status
  File "/usr/local/share/hplip/base/status.py", line 59, in <module>
    import hpmudext
ImportError: No module named hpmudext

and hp-check gives the same error as the automatic installer:
warning: CUPSEXT could not be loaded. Please check HPLIP installation.

I guess CUPS 1.6 is also unsupported?