Jak usunąć uszkodzony pakiet (w tym przypadku „kliknięcie”)?

15

Jak się usuwa pakiet złamaną kliknięcie ? Próbuję zainstalować ubuntu-sdk w moim Ubuntu 14.04. Otrzymuję zbyt wiele błędów.

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)

Jeśli próbuję polecenia sudo apt-get purge -f

Wystąpiły te same błędy.

lahti
źródło

Odpowiedzi:

30

Po tym, jak się nie powiodło, przetestowałem tę „twardą drogę” ... i ... działa!

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

Plik ma problem podczas importowania modułu Python i i tak chcesz usunąć pakiet. Dlatego plik można usunąć ręcznie.

AB
źródło
2
@AB Całkiem zła rada, ponieważ drugie polecenie usuwa wiele pakietów systemowych
UpmostScarab
To faktycznie działało dla mnie w Ubuntu 18.04 LTS. Użyłem jednak sudo apt-get --fix-broken installpo dwóch poleceniach.
afagarap
Wielkie dzięki!! Próbowałem to załatwić przez 3 dni !!
Tessaracter
9

miałem ten sam błąd z uszkodzonymi pakietami kliknięcie i kliknięcie, url-dispatcher po aktualizacji 14.04 -> 14.10 -> 15.04

* zaktualizowano:

dla mnie rozwiązaniem było usunięcie folderu pakietu, rm -rv /usr/local/lib/python3.4/dist-packages/click a następnie:

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

źródło rozwiązania

Ihor Proskura
źródło
Kiedy piszesz „usuwanie pakietu /usr/local/lib/python3.4/dist-packages/click”, masz na myśli usunięcie pliku /usr/local/lib/python3.4/dist-packages/clicklub usunięcie pakietuclick
Volker Siegel
1
usunięcie całego folderu ręcznie: rm -rv /usr/local/lib/python3.4/dist-packages/click, bo nic apt-get -f installlub dpkg --reconfigure -a, apt-get autoremove -f click , apt-get purge clickprac.
Ihor Proskura
5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

Problem polega na tym, że wielu użytkowników uaktualnień będzie miało zainstalowaną wersję kliknięcia z numerem wersji w swoim repozytorium pip lub pip3, nie są oni zarządzani przez apt i mają pierwszeństwo po importwywołaniu słowa kluczowego Python .

Musisz je odinstalować przed ponownym zainstalowaniem kliknięcia. Powodem, dla którego mogą być zainstalowane, jest to, że może się to zdarzyć podczas instalacji aplikacji w języku Python innej firmy, a Bóg wie, że zrobiłem kilka.

Fordi
źródło
1
Jestem tylko recenzentem: czy możesz skopiować i wkleić wszystkie powyższe elementy w swojej rzeczywistej odpowiedzi, zanim system zdecyduje się usunąć twoją odpowiedź z powodu braku jakości? ;-)
Fabby,
2

Zainstaluj kliknij ponownie, aby zainstalować zależności.

sudo apt-get install --reinstall click

Następnie usuń go za pomocą tego polecenia.

sudo apt-get autoremove -f click

Jeśli to nie zadziała, zainstaluj python i / lub python3:

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

i jeszcze raz

sudo apt-get autoremove -f click
AB
źródło
Nic nie pomoże, dostaję te same błędy.
lahtis
Odpowiedź zaktualizowana.
AB
Spróbuj wykonać trzy polecenia: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clicki jeszcze razsudo apt-get autoremove -f click
AB
Nic nie pomaga. Śledzenie (ostatnie ostatnie połączenie): Plik „/ usr / bin / click”, wiersz 31, w <module> od kliknięcia polecenia importu ImportError: nie można zaimportować nazwy polecenia „dpkg”: błąd przetwarzania pakietu kliknięcie (--remove ):
lahtis
0

Możesz spróbować:

sudo dpkg --force-all -P click  

lub:

sudo dpkg --force-all -r click
Pavol Polacko
źródło
1
Pakiet jest całkowicie uszkodzony, nie można go zainstalować ani odinstalować.
lahtis
0

W moim przypadku było to spowodowane tym, że zainstalowałem również wersję kliknięcia python3 poprzez pip3. Po odinstalowaniu wersji python3 wszystko działało dobrze.

Emre
źródło