Bagaimana cara menghapus paket yang rusak (dalam hal ini "klik")?

15

Bagaimana cara menghapus klik paket yang rusak ? Saya mencoba menginstal ubuntu-SDK di Ubuntu 14,04 saya. Saya mendapatkan terlalu banyak kesalahan.

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)

Jika saya mencoba perintah sudo apt-get purge -f

Kesalahan yang sama terjadi.

lahtis
sumber

Jawaban:

30

Setelah itu tidak berhasil, saya telah diuji ini "dengan cara yang keras" ... dan ... bekerja!

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

File memiliki masalah ketika mengimpor modul Python dan Anda ingin menghapus paketnya. Karena itu file dapat dihapus secara manual.

AB
sumber
2
@ AB Saran yang sangat buruk karena perintah kedua menghapus banyak paket sistem
UpmostScarab
Ini sebenarnya bekerja untuk saya di Ubuntu 18,04 LTS. Namun, saya menggunakan sudo apt-get --fix-broken installsetelah dua perintah.
afagarap
Terima kasih banyak!! Saya telah mencoba untuk menyelesaikannya selama 3 hari !!
Tessaracter
9

saya mengalami kesalahan yang sama dengan klik paket yang rusak dan klik-apparmor, dispatcher url setelah memutakhirkan 14,04 -> 14,10 -> 15,04

* diperbarui:

solusi untuk saya adalah menghapus folder paket rm -rv /usr/local/lib/python3.4/dist-packages/click dan kemudian:

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

sumber solusi

Ihor Proskura
sumber
Saat Anda menulis "menghapus paket /usr/local/lib/python3.4/dist-packages/click", maksud Anda menghapus file /usr/local/lib/python3.4/dist-packages/clickatau menghapus paketclick
Volker Siegel
1
menghapus seluruh folder secara manual: rm -rv /usr/local/lib/python3.4/dist-packages/click, karena tidak ada dari apt-get -f installatau dpkg --reconfigure -a, apt-get autoremove -f click , apt-get purge clickkarya.
Ihor Proskura
5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

Masalahnya adalah bahwa banyak pengguna peningkatan akan memiliki versi klik yang diinstal dengan nomor versi di bawah repositori pip atau pip3 mereka, ini tidak dikelola oleh apt, dan mereka mengambil prioritas ketika importkata kunci Python dipanggil.

Jadi, Anda perlu menghapusnya sebelum menginstal ulang klik akan ada gunanya bagimu. Alasan mereka mungkin diinstal adalah bahwa hal itu dapat terjadi selama pengaturan aplikasi python pihak ketiga, dan Tuhan tahu saya telah melakukan beberapa.

Fordi
sumber
1
Saya hanya peninjau: bisakah Anda menyalin-tempel semua hal di atas dalam jawaban Anda yang sebenarnya sebelum sistem memutuskan untuk menghapus jawaban Anda karena kurangnya kualitas? ;-)
Fabby
2

Instal klik lagi untuk menginstal dependensi.

sudo apt-get install --reinstall click

Kemudian hapus dengan perintah ini.

sudo apt-get autoremove -f click

Jika itu tidak berhasil, maka instal python dan / atau python3:

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

dan lagi

sudo apt-get autoremove -f click
AB
sumber
Tidak ada yang membantu, saya mendapatkan kesalahan yang sama.
lahtis
Jawaban diperbarui.
AB
Coba tiga perintah ini: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clickdan lagisudo apt-get autoremove -f click
AB
Tidak ada yang membantu.Traceback (panggilan terakhir terakhir): File "/ usr / bin / click", baris 31, dalam <module> dari klik perintah impor ImportError: tidak dapat mengimpor nama 'perintah' dpkg: klik paket pemrosesan kesalahan (--hapus ):
lahtis
0

Anda dapat mencoba:

sudo dpkg --force-all -P click  

atau:

sudo dpkg --force-all -r click
Pavol Polacko
sumber
1
Paket benar-benar rusak, tidak dapat menginstal atau membatalkan paket.
lahtis
0

Dalam kasus saya itu karena saya juga memiliki versi klik python3 diinstal melalui pip3. Ketika saya menghapus versi python3 semuanya bekerja dengan baik.

Emre
sumber