우분투 꾸러미가 아닌, pip 설치, 판올림.

이 내용도 예전에 정리한 적이 있다. 그러나, 엄밀하게 말하면, 그 글은 문제점을 내포하고 있다.

다음 명령으로 pip3 를 판올림했을 때,

pip3 install --user --upgrade pip

pip3 를 실행하면 이런 오류가 발생할 수 있다

File "/usr/bin/pip3", line 9, in 
    from pip import main
ImportError: cannot import name 'main'

이 문제에 대해, 다음 글에서 설명과 함께 해결책을 제시해주고 있다.

왜 그런지는 나중에 기운날 때 알아보기로 하고..
간단하게 정리하면, 우분투 꾸러미로 설치한 pip3 와 python3 에서 설치한 pip3 간 뭔가 문제가 생기는 모양이다.

어쨌든 해법은 다음과 같다.

만약 위 명령을 이미 내렸다면, 원 상태로 되돌리는 작업을 먼저 해줘야 한다.

그리고, pip 을 우분투 꾸러미가 아닌, python 자체로 설치한다. (이렇게 되면, 우분투 시스템에서 설치한 pip3 와 python 에서 설치한 pip3(pip)이 모두 존재하는 상황이 된다. python3-pip 꾸러미는 python3 -m pip 을 실행하기 위해 딱 1회만(?) 필요하다.)

$ python3 -m pip install pip

실행 시에는 그냥 pip3 로 하면 우분투 꾸러미에서 설치한 pip3 가 실행되므로, 아래처럼 확실히 해줘야 한다.

$ python3 -m pip

Alias 를 만들어두면 좀 더 손쉽게 사용할 수 있다.

alias ppip3='python3 -m pip'

또는, 우분투 꾸러미 python-pip 이 설치되어 있지 않고, ~/.local/bin/ 이 실행경로로 잡혀 있다면, pip 로 실행할 수도 있다.

/usr/bin/pip3 를 실행하면 때 이 글 상단에 써있는 오류가 발생한다.

pip 판올림 시에는 이렇게 해줘야 한다. (혹은 그냥 pip 도 된다.)

$ python3 -m pip install pip --upgrade --user

** 정리하자면,

  • pip3(우분투 꾸러미) 대신 python3 -m pip 을 사용한다.
  • 또는, alias 를 만들어서 ppip3(=python3 -m pip) 등으로 사용한다.
  • /home/.local/bin 이 실행 경로로 잡혀있다면 pip 도 가능하다. 확실히 하기 위해 pip --version 으로 확인한다.

참고로, ipython 은 다음과 같이 설치할 수 있다.

$ python3 -m pip install ipython --user
Tags:, ,
2 Comments

안녕하세요. 글 남겨주셔서 고맙습니다.