Як видалити зламаний пакет (в даному випадку "натиснути")?


15

Як видалити зламаний клік пакета ? Я намагаюся встановити ubuntu-sdk в моєму 14.04 Ubuntu. Я отримую занадто багато помилок.

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)

Якщо я намагаюся командувати sudo apt-get purge -f

Траплялися ті ж помилки.

Відповіді:


30

Після того, як це було невдало, я випробував цей "важкий шлях" ... і ... це працює!

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

У файлі є проблема під час імпорту модуля Python, і ви хочете видалити пакунок у будь-якому випадку. Тому файл можна видалити вручну.


2
@AB Досить погана порада, оскільки друга команда видаляє багато системних пакетів
UpmostScarab

Це фактично працювало для мене в Ubuntu 18.04 LTS. Однак я використав sudo apt-get --fix-broken installпісля двох команд.
афагарап

Дуже дякую!! Я намагався розібратися в цьому протягом 3 днів !!
Tessaracter

9

у мене була така ж помилка із зламаними пакетами click and click-apparmor, URL-диспетчером після оновлення 14.04 -> 14.10 -> 15.04

* оновлено:

рішення для мене було видалення папки пакунків, rm -rv /usr/local/lib/python3.4/dist-packages/click а потім:

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

джерело рішення


Коли ви пишете "видалення пакета /usr/local/lib/python3.4/dist-packages/click", ви маєте на увазі видалення файлу /usr/local/lib/python3.4/dist-packages/clickабо видалення пакетаclick
Volker Siegel

1
без видалення всю папку вручну rm -rv /usr/local/lib/python3.4/dist-packages/click, тому що нічого apt-get -f installабо dpkg --reconfigure -a, apt-get autoremove -f click , apt-get purge clickробіт.
Ігор Проскура

5
sudo apt-get remove click
sudo pip3 uninstall click
sudo pip uninstall click
sudo apt-get install click -f

Проблема полягає в тому, що для багатьох користувачів оновлення буде встановлена ​​версія клацання з номером версії під їх сховищем pip або pip3, вони не керуються apt, і вони мають пріоритет, коли importвикликається ключове слово Python .

Отже, вам потрібно видалити їх, перш ніж перевстановлення клацання не принесе вам користі. Причини, по яких вони можуть бути встановлені, це те, що це може статися під час налаштування стороннього додатку python, і Бог знає, що я зробив декілька.


1
Я просто рецензент: чи можете ви скопіювати та вставити все вищезазначене у фактичну відповідь, перш ніж система вирішить видалити вашу відповідь через відсутність якості? ;-)
Fabby

2

Встановити клік ще раз , щоб встановити залежності.

sudo apt-get install --reinstall click

Потім видаліть її за допомогою цієї команди.

sudo apt-get autoremove -f click

Якщо це не працює, встановіть python та / або python3:

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

і знову

sudo apt-get autoremove -f click

Нічого не допоможе, я отримаю однакові помилки.
lahtis

Відповідь оновлено.
AB

Спробуйте це три команди: sudo apt-get install --reinstall python; sudo apt-get install --reinstall python3; sudo apt-get install --reinstall python3-clickі зновуsudo apt-get autoremove -f click
AB

Нічого не допоможе. Відкликання (останній останній виклик): Файл "/ usr / bin / click", рядок 31, в <module> з команд імпорту клацання ImportError: не може імпортувати ім'я 'команди' dpkg: помилка обробки пакета клацання (--перемотнути) ):
lahtis

0

Ви можете спробувати:

sudo dpkg --force-all -P click  

або:

sudo dpkg --force-all -r click

1
Пакет повністю розбитий, його неможливо встановити чи видалити.
lahtis

0

У моєму випадку це було тому, що у мене також була встановлена ​​версія python3 клацання через pip3. Коли я видалив версію python3, все працювало нормально.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.