Comment faire pour supprimer un paquet cassé (dans ce cas «cliquer»)?

15

Comment faire retirer un paquet cassé cliquez ? J'essaie d'installer ubuntu-sdk dans mon Ubuntu 14.04. Je reçois trop d'erreurs.

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)

Si j'essaie la commande sudo apt-get purge -f

Les mêmes erreurs se sont produites.

lahtis
la source

Réponses:

30

Après que ça n'ait pas réussi, j'ai testé "à la dure" ... et ... ça marche!

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

Le fichier a un problème lors de l'importation d'un module Python et vous souhaitez quand même supprimer le package. Par conséquent, le fichier peut être supprimé manuellement.

UN B
la source
2
@AB Assez mauvais conseils car la deuxième commande supprime beaucoup de packages système
UpmostScarab
Cela a réellement fonctionné pour moi dans Ubuntu 18.04 LTS. Cependant, j'ai utilisé sudo apt-get --fix-broken installaprès les deux commandes.
afagarap
Merci beaucoup!! J'essayais de régler ça depuis 3 jours !!
Tessaracter
9

j'ai eu la même erreur avec les paquets cassés click and click-apparmor, url-dispatcher après la mise à niveau 14.04 -> 14.10 -> 15.04

*mis à jour:

la solution pour moi était de supprimer le dossier du package rm -rv /usr/local/lib/python3.4/dist-packages/click , puis:

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

source de la solution

Ihor Proskura
la source
Lorsque vous écrivez «supprimer le package /usr/local/lib/python3.4/dist-packages/click», voulez-vous dire supprimer le fichier /usr/local/lib/python3.4/dist-packages/clickou supprimer le packageclick
Volker Siegel
1
enlever tout le dossier manuellement: rm -rv /usr/local/lib/python3.4/dist-packages/clickparce que rien apt-get -f installou dpkg --reconfigure -a, apt-get autoremove -f click , des apt-get purge clickœuvres.
Ihor Proskura
5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

Le problème est que de nombreux utilisateurs de mise à niveau auront une version de click installée avec un numéro de version sous leur référentiel pip ou pip3, ceux-ci ne sont pas gérés par apt et ils ont priorité lorsque le importmot clé Python est appelé.

Donc, vous devez les désinstaller avant de réinstaller click va vous faire du bien. Les raisons pour lesquelles ils peuvent être installés sont que cela peut se produire lors de la configuration d'une application python tierce, et Dieu sait que j'en ai fait quelques-uns.

Fordi
la source
1
Je suis juste un critique: pourriez-vous copier-coller tout ce qui précède dans votre réponse réelle avant que le système ne décide de supprimer votre réponse en raison d'un manque de qualité? ;-)
Fabby
2

Installer cliquez à nouveau pour installer les dépendances.

sudo apt-get install --reinstall click

Ensuite, supprimez-le avec cette commande.

sudo apt-get autoremove -f click

Si cela ne fonctionne pas, installez python et / ou python3:

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

et encore

sudo apt-get autoremove -f click
UN B
la source
Rien d'aide, je reçois les mêmes erreurs.
lahtis
Réponse mise à jour.
AB
Essayez ces trois commandes: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clicket encoresudo apt-get autoremove -f click
AB
Rien d'aide. Traceback (dernier appel le plus récent): Fichier "/ usr / bin / click", ligne 31, dans <module> à partir des commandes d'importation de clic ImportError: ne peut pas importer le nom 'commandes' dpkg: erreur de traitement du package cliquez sur (--remove ):
lahtis
0

Tu peux essayer:

sudo dpkg --force-all -P click  

ou:

sudo dpkg --force-all -r click
Pavol Polacko
la source
1
Le package est totalement cassé, ne peut pas installer ou désinstaller le package.
lahtis
0

Dans mon cas, c'était parce que j'avais également une version python3 de click installée via pip3. Lorsque j'ai désinstallé la version python3, tout a bien fonctionné.

Emre
la source