Ubuntu 18.04 Can't upgrade because of libpython3.6 version conflicts

After having updated to Ubuntu 18.04, when I try to upgrade my system via

sudo apt update && sudo apt upgrade

I get this:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  gdb gir1.2-peas-1.0 libpeas-1.0-0 openshot
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

Of course I tried sudo apt install -f without success:

$ sudo apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

One suggested solution was to install each separately, but that doesn't work either:

$ sudo apt install libpeas-1.0-0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpeas-1.0-0 : Depends: libpython3.6 (>= 3.6.4~rc1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So I tried to install libpython3.6, which doesn't work because

 The following packages have unmet dependencies:
   libpython3.6 : Depends: libpython3.6-stdlib (= 3.6.5-3) but 3.6.5-5~16.04.york1 is to be installed

Now I can't remove/install/downgrade to this version because apt would then remove about 200 packages including things like xorg, firefox, gnome-session and pretty much every package I ever heard of.

One other thing I wanted to try taken from the question here was

sudo dpkg --install --force all /var/cache/apt/archives/libpython3[version].deb

but there was no file with my needed version number.

Edit: I downloaded the specific version via apt download libpython3.6-stdlib=3.6.5-3 and installed it with above command. Now I can neither do upgrade nor autoremove, and I get this warning for both:

The following packages have unmet dependencies:
 libpython3.6-stdlib : Depends: libpython3.6-minimal (= 3.6.5-3) but 3.6.5-5~16.04.york1 is installed
 python3.6 : Depends: libpython3.6-stdlib (= 3.6.5-5~16.04.york1) but 3.6.5-3 is installed

What else can I do? Thanks for any help.


Looks like I got here by having installed python3.6 through the deadsnakes ppa in Ubuntu 16. Then, after letting Ubuntu upgrade to 18 itself, it was in a conflicted state of depending on that libpython library presumably from the deadsnakes ppa but yet having a newer version of python that no longer knows about that dependency.

First, I had to remove the ppa the hard way by

sudo rm -f /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa*

and then remove the conflicted library with

sudo apt remove libpython3.6-*

to remove both libpython3.6-minimal and libpython3.6-stdlib, which somehow didn't totally implode my system.

Doing a

sudo apt update && sudo apt upgrade

installed python3.6 with some major caveats.

I had to [reinstall ubuntu-desktop](next time I logged in). So probably better for you to run

sudo apt install ubuntu-desktop

before shutting down your computer!!!!!!!!!!!!!


I had a similar problem and this cmd helped me: sudo apt-get install gdb/bionic gir1.2-peas-1.0/bionic libpeas-1.0-0/bionic python3.6/bionic python3.6-minimal/bionic libpython3.6/bionic libpython3.6-minimal/bionic libpython3.6-stdlib/bionic


The issue was caused by the jonathonf/python-3.6 PPA I had enabled in 16.04. The upgrade to 18.04. disabled this PPA, installed the libpython3.6 in the non-ppa version (the york version are from the PPA), and therefore caused a missing dependency. First I had to revert the downgrade mentioned in the Edit with analogous apt download and forced dpkg commands.

I reenabled the PPA (also changed bionic to xenial in /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list) and after an easy

sudo apt update && sudo apt install -f && sudo apt upgrade

everything is working fine now again.