Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I think I jacked up my python install by trying to mess around with virtual environments when I wasn't paying enough attention.

python3 --version
Python 2.7.6

But I'm not sure how this is the case when I check the bin:

ls -lah /usr/bin/python3
lrwxrwxrwx 1 root root 9 Sep 21  2015 /usr/bin/python3 -> python3.4

It's driving me crazy because I can't use apt correctly with this happening. I'm getting ASCII errors because it's using the wrong interpreter.

I'm pretty sure I messed something up with pyvenv or venv, but I'm not sure what. Help?

Okay, I ran dpkg -C and got a whole bundle of half compiled packages. Mostly python3 packages since I tried to remove and reinstall it. I ran dpkg --configure on them and got to one which gave this error:

Setting up python3-gi (3.12.0-1ubuntu1) ...
File "/usr/bin/py3compile", line 4
SyntaxError: Non-ASCII character '\xc2' in file /usr/bin/py3compile on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
dpkg: error processing package python3-gi (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 python3-gi

This error was appearing before, I suppose, as it is appearing when I try to install other packages now, but is further back in the stack trace.

Full dpkg -C:

The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 python3-aptdaemon.pkcompat PackageKit compatibilty for AptDaemon
 python3-aptdaemon.gtk3widgets Python 3 GTK+ 3 widgets to run an aptdaemon clie
 python3-dbus         simple interprocess messaging system (Python 3 interface)
 python3-uno          Python-UNO bridge
 python3-reportlab    ReportLab library to create PDF documents using Python3
 mugshot              lightweight user-configuration application
 python3-pycurl       Python 3 bindings to libcurl
 python3-aptdaemon    Python 3 module for the server and client of aptdaemon
 python3-setuptools   Python3 Distutils Enhancements
 catfish              File searching tool which is configurable via the command
 lsb-release          Linux Standard Base version reporting utility
 python3-speechd      Python interface to Speech Dispatcher
 python3-gi           Python 3 bindings for gobject-introspection libraries
 python3-xdg          Python 3 library to access freedesktop.org standards
 gdebi-core           simple tool to install deb files
 python3-pexpect      Python 3 module for automating interactive applications
 python3-requests     elegant and simple HTTP library for Python3, built for hu
 python3-crypto       cryptographic algorithms and protocols for Python 3
 menulibre            advanced FreeDesktop.org compliant menu editor
 python3-louis        Python bindings for liblouis
 nvidia-352           NVIDIA binary driver - version 352.79
 python3-colorama     Cross-platform colored terminal text in Python - Python 3
 python3-pyatspi      Assistive Technology Service Provider Interface - Python3
 python3-piston-mini-client library for writing clients for Django's Piston RES
 python3-oneconf      synchronize your configuration data over the network (Pyt
 python3-defer        Small framework for asynchronous programming (Python 3)
 python3-commandnotfound Python 3 bindings for command-not-found.
 python3-distlib      low-level components of python distutils2/packaging
 python3-chardet      universal character encoding detector for Python3
 python3-lxml         pythonic binding for the libxml2 and libxslt libraries
 blender              Very fast and versatile 3D modeller/renderer
 ufw                  program for managing a Netfilter firewall
 python3-cairo        Python 3 bindings for the Cairo vector graphics library
 apt-clone            Script to create state bundles
 python3-dirspec      Python User Folders Specification Library
 thin-client-config-agent Retrieve the list of remote desktop servers for a use
 python3-psutil       module providing convenience functions for managing proce
 gdebi                simple tool to install deb files - GNOME GUI
 python3-icu          Python 3 extension wrapping the ICU C++ API
 screen-resolution-extra Extension for the GNOME screen resolution applet
 python3-httplib2     comprehensive HTTP client library written for Python3
 python3-six          Python 2 and 3 compatibility library (Python 3 interface)
 python3-pkg-resources Package Discovery and Resource Access using pkg_resource
 ubuntu-drivers-common Detect and install additional Ubuntu driver packages
 hplip-data           HP Linux Printing and Imaging - data files
 python3-html5lib     HTML parser/tokenizer based on the WHATWG HTML5 specifica
 python3-oauthlib     generic, spec-compliant implementation of OAuth for Pytho
 python3-pil          Python Imaging Library (Python3)
 python3-pip          alternative Python package installer - Python 3 version o
 language-selector-common Language selector for Ubuntu
 python3-xkit         library for the manipulation of xorg.conf files (Python 3
 python3-urllib3      HTTP library with thread-safe connection pooling for Pyth

and then

which python3

returns

/usr/bin/python3

and

dpkg -S /usr/bin/python3
python3-minimal: /usr/bin/python3

AHA!But what does it mean?

dpkg -l python3-minimal
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ri  python3-minima 3.4.0-0ubunt amd64        minimal subset of the Python lang

Tried to reinstall it got an error, then tried to configure it with dpkg:

sudo dpkg --configure python3-minimal
Setting up python3-minimal (3.4.0-0ubuntu2) ...
/var/lib/dpkg/info/python3-minimal.postinst: 5: /var/lib/dpkg/info/python3-minimal.postinst: py3compile: not found
dpkg: error processing package python3-minimal (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 python3-minimal
share|improve this question
    
You must have been to making virtualenv's as root if that really is the cause. – Anthon Apr 19 at 20:18
    
I didn't think I was, but it's possible. It was one of those moments I should have probably just walked away from the computer, but I was trying to complete a project. – Sanjurjo7 Apr 19 at 20:28
    
These things are usually fixable if you have the patience. What does dpkg -C say? Post in the question, not in the comments, please. – Faheem Mitha Apr 19 at 21:21
    
@FaheemMitha Done, also ran the suggested dpkg --configure on a few of the items in the list and posted that error here as well. – Sanjurjo7 Apr 19 at 23:26
    
What does which python3 say? You might have a local install somewhere messing things up. – Faheem Mitha Apr 19 at 23:46
up vote 0 down vote accepted

Going back through everything I figured out that the issue was the bin directory created by the virtual environment had actually created a symlink to my root bin directory.

In the end I installed a different OS and loaded my docs from a backup.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.