프로그래밍 /개발환경 설정

[Docker/python] 도커 내에서 파이썬 버전 업그레이드

yooj_lee 2022. 3. 28. 15:03
300x250

도커 이미지 내의 파이썬과 실제 프로젝트에 필요한 파이썬의 버전이 다를 수 있다. 이 경우에 파이썬의 버전을 업그레이드하는 방법을 정리해보고자 한다. 아래 서술할 내용은 파이썬의 버전 업그레이드보다는 여러 개의 버전을 한꺼번에 관리하는 것에 더 가깝다.

정리하자면, 파이썬 상위 버전을 설치한 후 python 커맨드를 날렸을 때 어떤 버전의 파이썬을 실행할 것인지를 상위버전으로 설정해주면 된다.


파이썬 상위버전 설치

참고로 bash 명령어는 root 사용자일 때는 sudo를 사용하지 않는다. 아래는 root 계정이 아님을 가정하고 명령어를 작성하였다.

sudo apt update
sudo apt install python3.7

이렇게 설치를 한 후에 python --version으로 python 버전을 확인해도 이전의 버전이 나올 것이다. 따라서 등록을 해줘야함.

update-alternatives

앞서 말한 것처럼 python 커맨드를 날렸을 때 어떤 버전의 파이썬을 실행할 것인지를 지정해줘야 함. 지정에 앞서 본인의 환경 내에서 python 경로가 어떻게 되어있는지 먼저 확인할 것.

which python

위의 명령어로 python 경로를 확인했다면 update-alternatives 명령어에 인자로 넣어줘야함.

update-alternatives --install <link> <name> <path> <priority>

update-alternatives --install의 인자는 다음과 같다. link는 현재 python의 경로를 입력해주면 되고, name과 같은 경우에는 python (or python3)를 입력해주면 된다. path의 경우에는 새로운 버전의 python을, priority와 같은 경우에는 'python' 명령어를 실행할 때 어떤 python을 사용할지에 대한 우선순위를 부여하는 것이다. python 3.7로 업그레이드를 가정하는 경우, 실제 명령어는 다음과 같이 날려주면 된다.

update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1

pip도 함께 upgrade

pip의 경우에도 같이 업그레이드를 해줘야한다. 이때 단순히 pip install --upgrade pip로는 적용이 되지 않는다. 다음과 같이 명령어를 입력하여 pip를 업그레이드하도록 하자.

python -m pip install --upgrade pip

이는 도커만이 아니라 전체 우분투 환경에서도 똑같이 적용될 것이다. 하지만 실제로 우분투 환경에서는 버전을 여러 개 관리할 것이 아니라면 위와 같은 방법은 비효율적이지 않을까 싶다. 어쨌든 위의 방법은 도커 이미지 내에 있는 파이썬 버전보다 상위 버전을 동시에 사용할 수 있으므로, 버전 업그레이드 혹은 여러 개의 버전을 한꺼번에 관리하고 싶을 때 사용이 가능하다.

혹시 글 내용에 오류나 문제가 있다면 댓글로 피드백 부탁드립니다!

300x250