손상된 패키지를 제거하는 방법 (이 경우“클릭”)?


15

깨진 패키지 클릭을 제거하는 방법 ? 14.04 Ubuntu에 ubuntu-sdk를 설치하려고합니다. 너무 많은 오류가 발생합니다.

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두 명령 후에 사용했습니다.
afagarap

고마워요 !! 나는 이것을 3 일 동안 정리하려고 노력했다!!
Tessaracter 2016 년

9

14.04- > 14.10- > 15.04를 업그레이드 한 후 깨진 패키지 클릭클릭 Apparmor, url-dispatcher 와 동일한 오류가 발생했습니다.

* 업데이트 :

나를위한 해결책은 패키지 폴더를 제거한 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작품.
Ihor Proskura

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

문제는 많은 업그레이드 사용자가 pip 또는 pip3 리포지토리 아래에 버전 번호가있는 클릭 버전이 설치되어 있으며, 이들은 apt로 관리되지 않으며 Python의 import키워드가 호출 될 때 우선 순위를 갖습니다 .

따라서 클릭을 다시 설치하기 전에 제거해야합니다. 그들이 설치 될 수있는 이유는 타사 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-clicksudo apt-get autoremove -f click
AB

추적 도움말 (가장 최근 호출) : <import> 가져 오기 명령에서 <module>의 31 행 "/ usr / bin / click"파일 ImportError : 이름 'commands'을 가져올 수 없습니다. dpkg : 오류 처리 패키지 클릭 (-제거 ) :
lahtis

0

당신은 시도 할 수 있습니다:

sudo dpkg --force-all -P click  

또는:

sudo dpkg --force-all -r click

1
패키지가 완전히 손상되어 패키지를 설치 또는 해제 할 수 없습니다.
lahtis

0

필자의 경우 pip3을 통해 python3 버전의 클릭이 설치되어 있기 때문입니다. python3 버전을 제거하면 모든 것이 잘 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.