The Package System is Broken after Upgraded to Ubuntu 17.04

enter image description here

After upgraded my Ubuntu to 17.04, the package system is broken. When I execute any of the following commands, I got some error.

sudo apt-get --fix-broken install

$ sudo apt-get --fix-broken install
...
...
ubuntuone-credentials-common unity-plugin-scopes unity-scope-
mediascanner2
  unity-webapps-qml url-dispatcher usermetricsservice vbetool vlc-nox
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  click-apparmor
The following packages will be upgraded:
  click-apparmor
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 0 B/10.7 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 625249 files and directories currently installed.)
Preparing to unpack .../click-apparmor_0.3.18_amd64.deb ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package.  Remove it using Python packaging tools and try again.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
Cannot start click due to a conflict with a different locally-installed Python 'click' package.  Remove it using Python packaging tools and try again.
dpkg: error processing archive /var/cache/apt/archives/click-apparmor_0.3.18_amd64.deb (--unpack):
 subprocess new pre-removal script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/click-apparmor_0.3.18_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo apt-get full-upgrade

$ sudo apt-get full-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 click-apparmor : Depends: python3-apparmor-click (= 0.3.17) but 0.3.18 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

I also have tried the following solutions but they did not work.

  • E: Sub-process /usr/bin/dpkg returned an error code (1) [related to google chrome]

Anyone know how to fix it without reinstalling Ubuntu?


Solution 1:

I think I found a solution, but a big caveat though: it works, but I can’t explain why.

First, I went to /var/lib/dpkg/info/:

cd /var/lib/dpkg/info/

Then, I removed the lines pertaining to the packages which caused the problems. In my case, I had to do:

sudo rm -r python3-apparmor-click.*
sudo rm -r click-apparmor.*
sudo rm -r click.*
sudo rm -r ubuntu-app-launch.* 
sudo rm -r url-dispatcher-tools.*
sudo rm -r url-dispatcher:amd64.*
sudo rm -r libunity-scopes1.0:amd64

After that, I typed:

sudo apt purge python3-apparmor-click
sudo apt purge click-apparmor    
sudo apt purge click
sudo apt purge ubuntu-app-launch
sudo apt purge url-dispatcher-tools
sudo apt purge url-dispatcher:amd64
sudo apt purge libunity-scopes1.0

After that,

sudo apt update

And finally,

sudo apt dist-upgrade

which worked and updated my packages. All the packages problems seem to have disappeared.

Solution 2:

I had the same problem after upgrading to Ubuntu 17.04, this worked for me:

sudo -H pip3 uninstall click
sudo apt install python3-click-package
sudo apt upgrade
sudo apt autoremove

Not sure why (perhaps pip's click version is different than the one Ubuntu depends on?) but this fixed the issue.

Solution 3:

First remove python 'click' package using pip:

pip uninstall click

If you using python3 : pip3 uninstall click

Then fix the packages by apt:

sudo apt clean
sudo apt install -f