1

I recently installed Python 2.7 to /usr/local/bin. Now, any time I try to use apt-get it fails on certain python packages as follows:

root@lebowski:/usr/local/bin# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
6 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 28, in <module>
    import apt_pkg
ImportError: No module named apt_pkg
Setting up python-imaging (1.1.7-2) ...
Traceback (most recent call last):
  File "/usr/local/bin/lib/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/bin/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 168, in <module>
    sys.exit(main())
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 160, in main
    compile(filename, doraise=True)
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 115, in compile
    f = open(file, 'U')
IOError: [Errno 2] No such file or directory: '-'
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 320, in <module>
    main()
  File "/usr/bin/pycompile", line 299, in main
    options.force, options.optimize, e_patterns)
  File "/usr/bin/pycompile", line 217, in compile
    pipe.send(fn)
  File "/usr/bin/pycompile", line 180, in py_compile
    stdin.write(filename + '\n')
IOError: [Errno 32] Broken pipe
dpkg: error processing python-imaging (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up python-lxml (2.2.8-2) ...
configured to not write apport reports
                                      Traceback (most recent call last):
  File "/usr/local/bin/lib/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/bin/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 168, in <module>
    sys.exit(main())
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 160, in main
    compile(filename, doraise=True)
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 115, in compile
    f = open(file, 'U')
IOError: [Errno 2] No such file or directory: '-'
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 320, in <module>
    main()
  File "/usr/bin/pycompile", line 299, in main
    options.force, options.optimize, e_patterns)
  File "/usr/bin/pycompile", line 217, in compile
    pipe.send(fn)
  File "/usr/bin/pycompile", line 180, in py_compile
    stdin.write(filename + '\n')
IOError: [Errno 32] Broken pipe
dpkg: error processing python-lxml (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up python-reportlab (2.4-4) ...
configured to not write apport reports
                                      Traceback (most recent call last):
  File "/usr/local/bin/lib/python2.6/runpy.py", line 122, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/bin/lib/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 168, in <module>
    sys.exit(main())
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 160, in main
    compile(filename, doraise=True)
  File "/usr/local/bin/lib/python2.6/py_compile.py", line 115, in compile
    f = open(file, 'U')
IOError: [Errno 2] No such file or directory: '-'
Traceback (most recent call last):
  File "/usr/bin/pycompile", line 320, in <module>
    main()
  File "/usr/bin/pycompile", line 299, in main
    options.force, options.optimize, e_patterns)
  File "/usr/bin/pycompile", line 217, in compile
    pipe.send(fn)
  File "/usr/bin/pycompile", line 180, in py_compile
    stdin.write(filename + '\n')
IOError: [Errno 32] Broken pipe
dpkg: error processing python-reportlab (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of python-reportlab-accel:
 python-reportlab-accel depends on python-reportlab (>= 2.4-4); however:
  Package python-reportlab is not configured yet.
dpkg: error processing python-reportlab-accel (--configure):
 dependency problems - leaving unconfigured
Setting up python-xapian (1.2.3-3) ...
configured to not write apport reports
                                      configured to not write apport reports
                                                                            Traceback (most recent call last):
  File "/usr/bin/pycentral", line 2334, in <module>
    main()
  File "/usr/bin/pycentral", line 2328, in main
    rv = action.run(global_options)
  File "/usr/bin/pycentral", line 1477, in run
    runtimes = get_installed_runtimes()
  File "/usr/bin/pycentral", line 278, in get_installed_runtimes
    default_version = pyversions.default_version(version_only=True)
  File "/usr/share/pycentral-data/pyversions.py", line 172, in default_version
    raise ValueError, "/usr/bin/python does not match the python default version. It must be reset to point to %s" % debian_default
ValueError: /usr/bin/python does not match the python default version. It must be reset to point to python2.6
dpkg: error processing python-xapian (--configure):
 subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
                                      dpkg: dependency problems prevent configuration of rst2pdf:
 rst2pdf depends on python-reportlab; however:
  Package python-reportlab is not configured yet.
dpkg: error processing rst2pdf (--configure):
 dependency problems - leaving unconfigured
configured to not write apport reports
                                      Errors were encountered while processing:
 python-imaging
 python-lxml
 python-reportlab
 python-reportlab-accel
 python-xapian
 rst2pdf
E: Sub-process /usr/bin/dpkg returned an error code (1)

I've tried to use either 2.6 or 2.7 as my default version, yet this doesn't affect the problem. It seems to be a problem particularly with dpkg, and using dpkg --configure python doesn't help.

Slightly at my wit's end here, if anyone can give some insight to this issue I'd be grateful.

EDIT: Other relevant information:

root@lebowski:/usr/local/bin# python -V
Python 2.6.9

root@lebowski:/usr/local/bin# ls -al /usr/bin/py*
-rwxr-xr-x 1 root root    3752 Sep 14  2010 /usr/bin/py3_compilefiles
-rwxr-xr-x 1 root root   95845 Sep 14  2010 /usr/bin/pycentral
-rwxr-xr-x 1 root root    4599 May  5  2012 /usr/bin/pyclean
-rwxr-xr-x 1 root root   12783 May  5  2012 /usr/bin/pycompile
-rwxr-xr-x 1 root root    3723 Sep 14  2010 /usr/bin/py_compilefiles
lrwxrwxrwx 1 root root       8 Aug 28 16:06 /usr/bin/pydoc -> pydoc2.6
-rwxr-xr-x 1 root root      79 Dec 26  2010 /usr/bin/pydoc2.6
lrwxrwxrwx 1 root root      12 Aug 28 16:06 /usr/bin/pygettext -> pygettext2.6
-rwxr-xr-x 1 root root   22103 Dec 26  2010 /usr/bin/pygettext2.6
-rwxr-xr-x 1 root root      67 Mar 20  2010 /usr/bin/pygmentize
lrwxrwxrwx 1 root root      24 Aug 28 16:06 /usr/bin/python -> /etc/alternatives/python
lrwxrwxrwx 1 root root      24 Aug 28 11:50 /usr/bin/python2.6 -> /usr/local/bin/python2.6
-rwxr-xr-x 1 root root    1452 Dec 26  2010 /usr/bin/python2.6-config
-rwxr-xr-x 1 root root 5606639 Dec 26  2010 /usr/bin/python2.6-dbg
-rwxr-xr-x 1 root root    1456 Dec 26  2010 /usr/bin/python2.6-dbg-config
lrwxrwxrwx 1 root root      24 Aug 28 13:31 /usr/bin/python2.7 -> /usr/local/bin/python2.7
lrwxrwxrwx 1 root root      16 Sep 19  2013 /usr/bin/python-config -> python2.6-config
-rwxr-xr-x 1 root root    4119 Jan 24  2009 /usr/bin/python_count
lrwxrwxrwx 1 root root      13 Sep 25  2013 /usr/bin/python-dbg -> python2.6-dbg
lrwxrwxrwx 1 root root      20 Sep 25  2013 /usr/bin/python-dbg-config -> python2.6-dbg-config
lrwxrwxrwx 1 root root      29 Aug 28 16:06 /usr/bin/pyversions -> ../share/python/pyversions.py

root@lebowski:/usr/local/bin# update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
  0            /usr/bin/python2.6         20        auto mode
* 1            /usr/bin/python2.6         20        manual mode
  2            /usr/local/bin/python2.7   10        manual mode

root@lebowski:/usr/local/bin# ls -al py*
-rwxr-xr-x 1 root staff      84 Aug 28 11:29 pydoc
lrwxrwxrwx 1 root staff       9 Aug 28 13:54 python2 -> python2.7
-rwxr-xr-x 1 root staff 5325165 Aug 28 11:56 python2.6
-rwxr-xr-x 1 root staff    1424 Aug 28 11:56 python2.6-config
-rwxr-xr-x 1 root staff 5787340 Aug 28 13:54 python2.7
-rwxr-xr-x 1 root staff    1674 Aug 28 13:54 python2.7-config
lrwxrwxrwx 1 root staff      16 Aug 28 13:54 python2-config -> python2.7-config
lrwxrwxrwx 1 root staff      31 Aug 28 15:49 python-config -> /usr/local/bin/python2.6-config

Env output:

DM_CONTROL=/var/run/xdmctl
SHELL=/bin/bash
TERM=xterm
XDM_MANAGED=method=classic
DERBY_HOME=/usr/lib/jvm/java-7-oracle/db
OLDPWD=/mnt/extHDD/apps/mpv-build
GTK_MODULES=canberra-gtk-module
USER=root
LS_COLORS=*.c=0;36:*.h=0;33:*.py=0;35:*.exp=0;34
MAIL=/var/mail/root
PATH=/usr/sbin:/usr/bin:/sbin:/bin
DESKTOP_SESSION=default
PWD=/usr/local/bin
JAVA_HOME=/usr/lib/jvm/java-7-oracle
LANG=en_GB.UTF-8
PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 
HISTIGNORE=&:??:[ ]*:ls:clear:exit:logout
HISTCONTROL=ignoredups
SHLVL=2
HOME=/root
LANGUAGE=en_GB:en
LOGNAME=root
J2SDKDIR=/usr/lib/jvm/java-7-oracle
WINDOWPATH=7
DISPLAY=:0.0
J2REDIR=/usr/lib/jvm/java-7-oracle/jre
_=/usr/bin/env

EDIT: As requested, the results of importing apt_pkg into 2.6/2.7

root@lebowski:/usr/local/bin# /usr/bin/python2.6
Python 2.6.9 (unknown, Aug 28 2014, 11:55:43) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import apt_pkg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named apt_pkg
>>> 


root@lebowski:/usr/local/bin# /usr/bin/python2.7
Python 2.7.6 (default, Aug 28 2014, 13:52:26) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import apt_pkg
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named apt_pkg
>>> 
7
  • I'd look to your PATH environment variable to ensure that when you are running packaging utilities that /usr/bin and /bin are BEFORE /usr/local/bin.
    – mdpc
    Aug 28, 2014 at 15:44
  • Thanks, however my PATH for root is set to /usr/sbin:/usr/bin:/sbin:/bin
    – ahumph
    Aug 28, 2014 at 15:54
  • Have you done an echo $PATH to be sure? Have you exported the PATH variable in your environment?
    – mdpc
    Aug 28, 2014 at 15:55
  • Yeah, that's the output above and it's been exported. I'll update above with my env output.
    – ahumph
    Aug 28, 2014 at 15:56
  • 1
    I found out that apt-get was still complaining about the Python version even though 2.6 was my system default. It turns out the default was 2.6.9 rather than what apt expected (2.6.6). Reinstalling this version fixed apt for the most part - there are no longer any dpkg errors, however I am still missing apt_pkg :\ Thanks for the help though!
    – ahumph
    Aug 29, 2014 at 8:37

0

You must log in to answer this question.

Browse other questions tagged .