모든 pip 및 패키지 관리자 비호환성 수정 [닫기]

모든 pip 및 패키지 관리자 비호환성 수정 [닫기]

패키지 관리자()를 사용하여 일부 Python 패키지 pip와 기타 패키지를 설치했습니다 pacman. 이제 시스템을 업데이트하려고 할 때마다 이미 가지고 있는 일부 종속 Python 모듈을 설치하려고 하기 때문에 특정 파일이 이미 존재한다는 메시지가 나타납니다. 이 문제를 어떻게 해결할 수 있나요?

pip문제를 재현하려면 패키지 관리자를 통해 무언가를 설치 한 다음 동일한 패키지를 설치해 보세요 . 예:

$ sudo pip 설치 numpy

그런 다음

$ sudo pacman -S python-numpy

답변1

먼저 를 사용하여 설치한 것과 동일한 방법으로 제거할 수 있습니다 pip.

이것이 작동하지 않으면,패키지의 일부가 아닌 모든 파일을 식별합니다.. 당신은 그것을 사용할 수 있습니다잃어버린 파일가서 이것을 해보세요. 그런 다음 해당 파일을 수동으로 삭제하십시오.

그런 다음 pacman을 사용하여 모든 Python(ruby, node 등) 패키지를 설치하거나 스위치를 사용하여 --user$HOME에 설치합니다.

답변2

경고: 이 답변은 명령 --force의 옵션을 사용합니다 pacman. 자신이 무엇을 하고 있는지 알고 있는 경우에만 사용해야 합니다!

  1. 다음을 통해 설치된 패키지 목록을 내보냅니다 pip.

>>> pip 동결 > packages.txt

  1. 이 명령을 시작하십시오. 데이터베이스에 표시되지 않은 pacman설치 패키지를 다시 다운로드하고 설치합니다.pipinstalledpacman

>>> $(awk -F "==" '{print $1}' packages.txt)의 경우 sudo pacman -S --needed --force --noconfirm python-$i;를 실행합니다.

  1. python22위 명령에 after 및 python추가하여 동일한 작업을 수행 할 수 있습니다 .pip

  2. 이제부터는 만 사용 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

파일에 저장하고 파일에 실행 권한을 부여한 후 실행하세요.

관련 정보