□ 환경
- ubuntu18.04, 20.04
- python 3.7 이상
pip는 운영체제에 내장되어 있거나 default로 설치되는 python에 내장되어 탑재된 pip를 사용하게 되므로 pip 최신 버전으로 업데이트를 할 필요가 종종 있다. 한 예로 pip3로 버전을 확인해 보면 아래와 같이 너무 낮은 버전의 pip를 보게 된다.
$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
또한, 위와 같은 경우 pip 명령은 인식 못할 경우도 많아서 pip3를 쓰거나 alias나 symbolic link를 설정하는 등 부가적인 고생을 해야하는 경우도 있다.
1. 단순히 pip 버전만 올리고 싶다면, 아래와 같다.
$ pip3 install --upgrade pip
대개의 경우 위 명령을 수행하면 pip가 최신 버전으로 설치됨과 동시에 별도 alias나 symlolic link 처리와 상관없이 pip를 사용하여 pip3를 호출할 수 있게 된다. 그러나, 경우는 python 버전은 기본 버전으로 유지된다. 즉, 위에서 예시한 python3.6 이라면 pip도 python3.6 환경을 따르는 pip 최신 버전이 설치된다는 뜻이다.
2. 자신이 사용하는 python에 내장된 pip를 바꾸고 싶다면,
python은 여러 버전이 이미 설치되어 있기도 하고 계속 여러 버전을 설치해서 사용하는 경우도 많기 때문에 내장된 python과 새로 설치하여 사용하는 python이 다른 경우가 종종 있다.
해당 명령을 실행하면 현재 사용하고 있는 python의 pip가 최신 버전으로 업데이트 되며, 위 1번 처럼 pip를 실행하면 새로 설치한 pip3가 잘 동작하므로 깔끔하게 해결이 가능하다.
$ python -m pip install --upgrade --force-reinstall pip
참고로, 현재 사용하는 python에 내장된 pip 버전은 하기와 같이 버전을 확인할 수 있다.
$ python -m pip -version
끝으로 위 모든 과정을 예를 들어 설명한다면, 즉, 기본 설치된 pythondl 3.6이었으나 현재는 python3.7을 사용하고 있고 위 부터 순차적으로 수행했다면 아래와 같은 결과를 볼 수 있다.
$ python --version
Python 3.7.5
// 만약, pip와 pip3 간 wrapping 이 안되어 있다면 명령어를 찾지 못했다고 나온다.
$ pip
bash: pip: command not found
$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
$ pip3 install --upgrade pip
Downloading ....
Installing collected packages: pip
$ pip --version
pip 21.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
$ python -m pip --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.7)
$ python -m pip install --upgrade --force-reinstall pip
Downloading ....
Installing collected packages: pip
$ python -m pip --version
pip 23.1.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
// 위와 동일 결과
$ pip --version
pip 23.1.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)