¿Cómo eliminar un paquete roto (en este caso, "clic")?

15

¿Cómo eliminar el paquete roto, haga clic ? Estoy intentando instalar ubuntu-sdk en mi Ubuntu 14.04. Estoy recibiendo demasiados errores.

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 estoy tratando de comando sudo apt-get purge -f

Los mismos errores ocurrieron.

lahtis
fuente

Respuestas:

30

Después de que no tuvo éxito, lo probé "por las malas" ... y ... ¡funciona!

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

El archivo tiene un problema al importar un módulo de Python y de todos modos desea eliminar el paquete. Por lo tanto, el archivo se puede eliminar manualmente.

AB
fuente
2
@AB Muy mal consejo ya que el segundo comando elimina muchos paquetes del sistema
UpmostScarab
Esto realmente funcionó para mí en Ubuntu 18.04 LTS. Sin embargo, usé sudo apt-get --fix-broken installdespués de los dos comandos.
afagarap
¡¡Muchas gracias!! ¡Había estado tratando de resolver esto por 3 días!
Tessaracter
9

He tenido el mismo error con paquetes rotos click y click-apparmor, url-dispatcher después de actualizar 14.04 -> 14.10 -> 15.04

*actualizado:

la solución para mí fue eliminar la carpeta del paquete rm -rv /usr/local/lib/python3.4/dist-packages/click y luego:

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

fuente de solución

Ihor Proskura
fuente
Cuando escribes "eliminar el paquete /usr/local/lib/python3.4/dist-packages/click", ¿te refieres a eliminar el archivo /usr/local/lib/python3.4/dist-packages/clicko eliminar el paqueteclick
Volker Siegel
1
la eliminación de toda la carpeta manualmente: rm -rv /usr/local/lib/python3.4/dist-packages/click, porque nada de apt-get -f installo dpkg --reconfigure -a, apt-get autoremove -f click , apt-get purge clickobras.
Ihor Proskura
5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

El problema es que muchos usuarios de la actualización tendrán una versión de clic instalada con un número de versión debajo de su pip o repositorio pip3, estos no son administrados por apt y tienen prioridad cuando importse invoca la palabra clave de Python .

Por lo tanto, debe desinstalarlos antes de reinstalar el clic que le servirá de algo. Las razones por las que podrían instalarse es que puede suceder durante la configuración de una aplicación python de terceros, y Dios sabe que he hecho algunas.

Fordi
fuente
1
Solo soy un revisor: ¿podría copiar y pegar todo lo anterior en su respuesta real antes de que el sistema decida eliminar su respuesta por falta de calidad? ;-)
Fabby
2

Instalar, haga clic nuevamente para instalar las dependencias.

sudo apt-get install --reinstall click

Luego quítelo con este comando.

sudo apt-get autoremove -f click

Si eso no funciona, instale python y / o python3:

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

y que de nuevo

sudo apt-get autoremove -f click
AB
fuente
Nada ayuda, tengo los mismos errores.
lahtis
Respuesta actualizada
AB
Pruebe estos tres comandos: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clicky nuevamentesudo apt-get autoremove -f click
AB
Nada ayuda. Rastreo (última llamada reciente): Archivo "/ usr / bin / click", línea 31, en <módulo> desde el clic importar comandos ImportError: no se puede importar el nombre 'comandos' dpkg: error al procesar el paquete clic (--remove ):
lahtis
0

Puedes probar:

sudo dpkg --force-all -P click  

o:

sudo dpkg --force-all -r click
Pavol Polacko
fuente
1
El paquete está totalmente roto, no se puede instalar o desinstalar el paquete.
lahtis
0

En mi caso fue porque también tenía una versión de clic de python3 instalada a través de pip3. Cuando desinstalé la versión de python3, todo funcionó bien.

Emre
fuente