10

When I run sudo apt-get upgrade, the dpkg error appears and interupts the process.

Error details:

Setting up python-minimal (2.7.3-0ubuntu7.1) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
    import struct
  File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
    from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
 subprocess installed post-installation script returned error exit status 255
dpkg: dependency problems prevent configuration of python:
 python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
  Package python-minimal is not configured yet.

And this problem leads to a series of dependency problems when processing the following packages:

 python
 gwibber-service
 libgwibber3
 libgwibber-gtk3
 gwibber
 gwibber-service-facebook
 gwibber-service-identica
 gwibber-service-twitter
 python-all
 python-dev
 python-all-dev
 python-apt
 python-problem-report
 python-apport
 python-libxml2
 unity-lens-gwibber
 unity-scope-video-remote

Finally, nothing I can do for this problem. And several days later, the root directory is full and I even could not uninstall any software because of this problem.

Braiam
  • 69,112

4 Answers4

8

Follow the solution by Soroosh. Broken python (2.7) after manually building and installing python 2.6

Enter sudo -i for root access.

Paste the command and wait about 20 minutes. Runs perfectly.

for pkg in $(dpkg --get-selections | egrep -v 'deinstall' | egrep python | awk '{print $1}'); do  apt-get -y --force-yes install --reinstall $pkg ; done
1

Try this

sudo apt purge libpython*

I removed python2.7 and 3.7, then deleted related files from the system. After that I found I can't reinstall python2.7 Tried many methods still not working, including :

remove soft links

del virtual env dirs

autoremove

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

Then I found some libpython files by searching python whole system.(Do not rm files from dir if you are not sure.) After removed libpython* packages(I removed them one by one.), python installed successfully.

Hope this can help some people have same problems

Jay
  • 131
1

OK, going through the packages, I found that python-minimal does not have struct.py, but python-minimal2.7 does.

So, try this and see if it helps you out:

sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade

If even that does't work, perhaps your $PYTHONPATH is messed up somehow.

nano ~/.bashrc

Add the line export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7" then

source ~/.bashrc

And try your update yet again.

Chuck R
  • 5,038
0

Don't know if this is going to help you out at all, it's a bit of a stab in the dark, but make sure your default Python version is set to 2.7.

There are three files of concern in /usr/bin:

python (symlink)
python2.7
python3 (symlink)

If you do ls -l /usr/bin | grep python you will see what each symlink points to.

If it shows you python -> python3 or python -> python3.3 there's something wrong. At this point you will want to:

rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python
Chuck R
  • 5,038