Wie entferne ich ein kaputtes Paket (in diesem Fall "Klick")?

15

Wie wird man kaputte entfernt Klick ? Ich versuche Ubuntu-SDK in meinem Ubuntu 14.04 zu installieren. Ich bekomme zu viele Fehler.

sudo apt-get autoremove -f click
Reading package lists ... Done
Building dependency tree
Is read status information ... Done
The following packages will be REMOVED:
   click
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation released 166 ks of disk space.
Do you want to continue? [Y/n] y
(Reading database ... 350824 files and directories currently installed.)
Removing click (0.4.38.5-0~457~ ubuntu14.04.1) ...
Trace Back (most recent call last):
   File "/usr/bin/click", line 31, in <module>
     from click import commands
Import Error: can not import name 'commands'
dpkg: error processing package click (--remove):
  subprocess command file pre-removal installed returned error exit status 1
Reading was too many errors:
  click
E: Sub-process /usr/bin/dpkg Returned an error code (1)

Wenn ich versuche, Befehl sudo apt-get purge -f

Gleiche Fehler sind passiert.

lahtis
quelle

Antworten:

30

Nachdem das nicht erfolgreich war, habe ich das "the hard way" getestet ... und ... es funktioniert!

sudo rm /usr/bin/click
sudo apt-get autoremove -f click

Die Datei hat ein Problem beim Importieren eines Python-Moduls und Sie möchten das Paket trotzdem entfernen. Daher kann die Datei manuell entfernt werden.

AB
quelle
2
@AB Ziemlich schlechte Ratschläge, da der zweite Befehl viele Systempakete löscht
UpmostScarab
Das hat bei mir in Ubuntu 18.04 LTS tatsächlich geklappt. Allerdings habe ich sudo apt-get --fix-broken installnach den beiden Befehlen gebraucht .
Afagarap
Danke vielmals!! Ich hatte 3 Tage lang versucht, das zu klären !!
Tessaracter
9

Ich hatte den gleichen Fehler mit defekten Paketen. Klicken und Klick-AppArmor, URL-Dispatcher nach dem Upgrade von 14.04 -> 14.10 -> 15.04

*Aktualisiert:

Die Lösung für mich war das Entfernen des Paketordners rm -rv /usr/local/lib/python3.4/dist-packages/click und dann:

sudo apt-get update && sudo apt-get install -f

Lösungsquelle

Ihor Proskura
quelle
Wenn Sie "Entfernen des Pakets /usr/local/lib/python3.4/dist-packages/click" schreiben , meinen Sie damit das Entfernen der Datei /usr/local/lib/python3.4/dist-packages/clickoder das Entfernen des Paketsclick
Volker Siegel
1
ganze Ordner zu entfernen manuell: rm -rv /usr/local/lib/python3.4/dist-packages/click, weil nichts apt-get -f installoder dpkg --reconfigure -a, apt-get autoremove -f click , apt-get purge clickfunktioniert.
Ihor Proskura
5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

Das Problem ist, dass viele Upgrade-Benutzer eine Version von click mit einer Versionsnummer unter ihrem pip- oder pip3-Repository installiert haben. Diese werden nicht von apt verwaltet und haben Priorität, wenn das importSchlüsselwort von Python aufgerufen wird.

Sie müssen sie also deinstallieren, bevor eine Neuinstallation von click für Sie von Nutzen ist. Der Grund, warum sie möglicherweise installiert werden, ist, dass dies beim Einrichten einer Python-App eines Drittanbieters passieren kann.

Fordi
quelle
1
Ich bin nur ein Rezensent: Können Sie all das in Ihre eigentliche Antwort kopieren und einfügen, bevor das System beschließt, Ihre Antwort wegen mangelnder Qualität zu löschen? ;-)
Fabby
2

Installieren Klicken Sie erneut, um die Abhängigkeiten zu installieren.

sudo apt-get install --reinstall click

Dann entfernen Sie es mit diesem Befehl.

sudo apt-get autoremove -f click

Wenn das nicht funktioniert, installieren Sie python und / oder python3:

sudo apt-get install --reinstall python
sudo apt-get install --reinstall python3
sudo apt-get install --reinstall python3-click

und dann nochmal

sudo apt-get autoremove -f click
AB
quelle
Nichts hilft, ich bekomme die gleichen Fehler.
Lahtis
Antwort aktualisiert.
AB
Versuchen Sie diese drei Befehle: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clickund noch einmalsudo apt-get autoremove -f click
AB
Nothing help.Traceback (letzter Aufruf zuletzt): Datei "/ usr / bin / click", Zeile 31, in <Modul> von Click-Import-Befehlen. ImportError: Name 'Befehle' kann nicht importiert werden ):
lahtis
0

Du kannst es versuchen:

sudo dpkg --force-all -P click  

oder:

sudo dpkg --force-all -r click
Pavol Polacko
quelle
1
Das Paket ist völlig kaputt, kann das Paket nicht installieren oder deinstallieren.
Lahtis
0

In meinem Fall lag es daran, dass ich auch eine Python3-Version von click über pip3 installiert hatte. Als ich die Python3-Version deinstallierte, funktionierte alles einwandfrei.

Emre
quelle