패키지 관리자()를 사용하여 일부 Python 패키지 pip
와 기타 패키지를 설치했습니다 pacman
. 이제 시스템을 업데이트하려고 할 때마다 이미 가지고 있는 일부 종속 Python 모듈을 설치하려고 하기 때문에 특정 파일이 이미 존재한다는 메시지가 나타납니다. 이 문제를 어떻게 해결할 수 있나요?
pip
문제를 재현하려면 패키지 관리자를 통해 무언가를 설치 한 다음 동일한 패키지를 설치해 보세요 . 예:
$ sudo pip 설치 numpy
그런 다음
$ sudo pacman -S python-numpy
답변1
먼저 를 사용하여 설치한 것과 동일한 방법으로 제거할 수 있습니다 pip
.
이것이 작동하지 않으면,패키지의 일부가 아닌 모든 파일을 식별합니다.. 당신은 그것을 사용할 수 있습니다잃어버린 파일가서 이것을 해보세요. 그런 다음 해당 파일을 수동으로 삭제하십시오.
그런 다음 pacman을 사용하여 모든 Python(ruby, node 등) 패키지를 설치하거나 스위치를 사용하여 --user
$HOME에 설치합니다.
답변2
경고: 이 답변은 명령 --force
의 옵션을 사용합니다 pacman
. 자신이 무엇을 하고 있는지 알고 있는 경우에만 사용해야 합니다!
- 다음을 통해 설치된 패키지 목록을 내보냅니다
pip
.
>>> pip 동결 > packages.txt
- 이 명령을 시작하십시오. 데이터베이스에 표시되지 않은
pacman
설치 패키지를 다시 다운로드하고 설치합니다.pip
installed
pacman
>>> $(awk -F "==" '{print $1}' packages.txt)의 경우 sudo pacman -S --needed --force --noconfirm python-$i;를 실행합니다.
python2
2
위 명령에 after 및python
추가하여 동일한 작업을 수행 할 수 있습니다 .pip
이제부터는 만 사용
pacman
하고 은 사용하지 마세요pip
. 필요한 경우pip
패키지를 사용하여 특정 버전으로 업그레이드/다운그레이드 할 수 있습니다.
원하는 경우 스크립트 버전을 사용할 수도 있습니다.
#!/bin/sh
pip freeze > packages.txt
for i in $(awk -F "==" '{print $1}' packages.txt)
do
sudo pacman -S --needed --force --noconfirm python-$i
done
파일에 저장하고 파일에 실행 권한을 부여한 후 실행하세요.