Como remover um pacote quebrado (neste caso, "clique")?

15

Como remover o clique do pacote quebrado ? Estou tentando instalar o ubuntu-sdk no meu Ubuntu 14.04. Estou recebendo muitos erros.

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)

Se estou tentando comando sudo apt-get purge -f

Os mesmos erros ocorreram.

lahtis
fonte

Respostas:

30

Depois que não foi bem-sucedido, testei isso "da maneira mais difícil" ... e ... funciona!

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

O arquivo tem um problema ao importar um módulo Python e você deseja remover o pacote de qualquer maneira. Portanto, o arquivo pode ser removido manualmente.

AB
fonte
2
@AB Conselhos muito ruins, já que o segundo comando exclui muitos pacotes do sistema
UpmostScarab
Isso realmente funcionou para mim no Ubuntu 18.04 LTS. No entanto, eu usei sudo apt-get --fix-broken installapós os dois comandos.
afagarap
Muito obrigado!! Eu estava tentando resolver isso por 3 dias !!
Tessaracter
9

Eu tive o mesmo erro com pacotes quebrados click and click-apparmor, url-dispatcher após a atualização 14.04 -> 14.10 -> 15.04

*Atualizada:

a solução para mim foi remover a pasta do pacote rm -rv /usr/local/lib/python3.4/dist-packages/click e depois:

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

fonte de solução

Ihor Proskura
fonte
Quando você escreve "removendo o pacote /usr/local/lib/python3.4/dist-packages/click", você quer dizer remover o arquivo /usr/local/lib/python3.4/dist-packages/clickou remover o pacoteclick
Volker Siegel
11
removendo pasta inteira manualmente: rm -rv /usr/local/lib/python3.4/dist-packages/click, porque nada de apt-get -f installou 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

O problema é que muitos usuários de atualização terão uma versão de clique instalada com um número de versão em seu repositório pip ou pip3, que não são gerenciados pelo apt e têm prioridade quando a importpalavra-chave do Python for chamada.

Portanto, você precisa desinstalá-los antes de reinstalar o clique. O motivo pelo qual eles podem ser instalados é que isso pode acontecer durante a instalação de um aplicativo python de terceiros, e Deus sabe que eu já fiz alguns.

Fordi
fonte
11
Sou apenas um revisor: você pode copiar e colar todas as opções acima em sua resposta real antes que o sistema decida excluir sua resposta por falta de qualidade? ;-)
Fabby
2

Instalar clique novamente para instalar as dependências.

sudo apt-get install --reinstall click

Em seguida, remova-o com este comando.

sudo apt-get autoremove -f click

Se isso não funcionar, instale o python e / ou python3:

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

e de novo

sudo apt-get autoremove -f click
AB
fonte
Nada ajuda, estou com os mesmos erros.
Lahtis
Resposta atualizada.
AB
Tente estes três comandos: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clicke novamentesudo apt-get autoremove -f click
AB /
Traceback (última chamada mais recente): Arquivo "/ usr / bin / click", linha 31, em <module> dos comandos de importação de clique ImportError: não é possível importar o nome 'commandos' dpkg: erro ao processar o clique no pacote (--remove ):
lahtis 27/04
0

Podes tentar:

sudo dpkg --force-all -P click  

ou:

sudo dpkg --force-all -r click
Pavol Polacko
fonte
11
O pacote está totalmente quebrado, não pode instalar ou desinstalar o pacote.
Lahtis 27/04
0

No meu caso, foi porque eu também tinha uma versão python3 do clique instalada através do pip3. Quando eu desinstalei a versão python3 tudo funcionou bem.

Emre
fonte