python-pip: 가져오기 오류: 기본 이름을 가져올 수 없습니다.

python-pip: 가져오기 오류: 기본 이름을 가져올 수 없습니다.

저는 Debian 9.5 Stretch 버전을 사용하고 있습니다. pip를 사용할 때 가져오기 오류가 발생합니다. pip를 사용하려고 하면 다음과 같이 표시됩니다.

여기에 이미지 설명을 입력하세요.

그러나 Python을 사용할 수 있습니다. 여기에 이미지 설명을 입력하세요.

2.7과 3.5의 두 가지 버전의 Python이 설치되어 있습니다.

pip의 출력:/usr/bin/pip

apt-get pip를 사용하여 다시 설치하려고 하면 처음에는 완벽하게 작동하지만 다음 번에는 동일한 오류가 표시됩니다.

콘텐츠/usr/bin/

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

문제가 무엇인지 모릅니다.

답변1

이는 동일한 접두사( )에 두 개의 서로 다른 패키지 관리자( dpkg또는 해당 프런트엔드 와 자체) 를 사용하고 있기 때문에 발생할 가능성이 높습니다 . apt-get나는 가정한다pip/usr

  • apt-get upgrade일부 종속성은 최근에 업데이트되었지만 설치된 다른 일부 파일은 단순히 알려지지 않았거나 pip업데이트되지 않았습니다.dpkgapt-get
  • apt-get remove를 사용하여 합니다제거apt-get패키지를pipdpkg

어떤 패키지 관리자를 통해 어떤 패키지가 설치되었는지 알지 못하면 시스템 수정 방법에 대한 구체적인 조언을 드릴 수 없으며 일반적인 조언만 드릴 수 있습니다.

여러 개의 다른 패키지 관리자를 사용하지 마십시오.파일 시스템의 특정 (하위)트리에는 하나의 패키지 관리자만 사용할 수 있습니다. 그렇지 않으면 불일치 및/또는 충돌이 발생합니다. 데비안의 /usr트리 패키지 관리자는 이라고 불리며 dpkg, 호출되지 않습니다.아무도~해야 한다한 번만지다 /usr.

Python으로 작업하면서 만나는 대부분의 사람들은 pip를 푸시하려고 하거나 심지어 그렇게 하라고 말할 것입니다. 물론 이는 도움이 되지 않습니다 sudo pip install. 일부 배포 패키지에 Python 관련 내용이 포함되어 있는 데에는 이유가 있습니다. 또한보십시오AskUbuntu에 대한 관련 질문입니다.그리고StackOverflow에 대한 답변입니다..


새로운 pip를 설치하여 혼란을 해결할 수 있습니다

apt-get purge python-pip python3-pip
apt-get install python-pip python3-pip

하지만 간섭을 일으킬 수 있는 파일이 일부 남아 있을 수 있는데, 이는 dpkg에서 만든 것이므로 알 수 없습니다 . 모든 파일이 데비안 패키지에 속하는지 pip확인하고 그렇지 않은 경우 모두 삭제하는 것이 신뢰할 수 있는 방법입니다 ./usr/lib/python*

다시,오직, , , ...와 같은 프런트 엔드 도구를 사용하여 dpkg수정합니다. 패키지로 사용할 수 없는 시스템 전체를 설치해야 하는 경우 패키지를 만들고 를 사용하여 설치하거나 아래에 설치합니다.apt-getaptitudesynaptic/usr.debdpkg/usr/local

답변2

python2.7을 기본값으로 설정합니다.

sudo update-alternatives --config python

Python2.7을 선택합니다.

제거하다 pip:

sudo python -m pip uninstall pip
sudo apt purge --autoremove python-pip

다시 설치하세요:

sudo apt install python-pip

조사하다 pip --version:

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

pip최신 버전으로 업그레이드하지 마십시오 .

답변3

다음 명령을 시도해 보세요.

hash -d pip

관련 정보