1

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
  • You must have been to making virtualenv's as root if that really is the cause. – Anthon Apr 19 '16 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 '16 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 '16 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 '16 at 23:26
  • What does which python3 say? You might have a local install somewhere messing things up. – Faheem Mitha Apr 19 '16 at 23:46
  • Thanks for the help @FaheemMitha, which python3 says usr/bin/python3 so I don't think it's a local install – Sanjurjo7 Apr 20 '16 at 13:10
  • @Sanjurjo7 You mean /usr/bin/python3, right? What does dpkg -S /usr/bin/python3 say? I get python3-minimal here. – Faheem Mitha Apr 20 '16 at 13:24
  • What's the output of type python3 and ls -lL /usr/bin/python3 – Braiam Apr 20 '16 at 13:31
  • @Sanjurjo7 You mean /usr/bin/python3, right? What does dpkg -S /usr/bin/python3 say? I get python3-minimal here. Also, paste the output of dpkg -l pkgname for the package returned by dpkg -S /usr/bin/python3. – Faheem Mitha Apr 20 '16 at 15:54
  • Okay, I downloaded python3.5 source and built it from source. That's fixed the problem in the symlink, but now I've got a bunch of junk in my dpkg that needs to be cleared. Is there a quick way to do that? – Sanjurjo7 Apr 20 '16 at 20:12
  • nm, that didn't actually fix anything, just put a local install... but it should work and is not – Sanjurjo7 Apr 20 '16 at 20:49
  • dpkg -l python3-minimal? – Faheem Mitha Apr 20 '16 at 21:10
  • Okay, tried to reinstall python3-minimal and got an error, tried to --configure it from dpkg and it looks like py3compile is 'missing' now? – Sanjurjo7 Apr 20 '16 at 21:28

1 Answers1

0

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.