원하는 python 버전을 설치하고 싶으면 다음과 같이 진행하면 된다.
# apt 패키지 업데이트
$ apt update
# 보조 소프트웨어 설치
$ apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget software-properties-common -y
설치 가능한 python 버전들을 조회 해 본다.
# apt 에서 python 패키지 조회
$ apt-cache search python3 | grep -E '^python3\.[0-9]+ '
python3.10 - Interactive high-level object-oriented language (version 3.10)
python3.11 - Interactive high-level object-oriented language (version 3.11)
python3.12 - Interactive high-level object-oriented language (version 3.12)
python3.13 - Interactive high-level object-oriented language (version 3.13)
python3.14 - Interactive high-level object-oriented language (version 3.14)
python3.7 - Interactive high-level object-oriented language (version 3.7)
python3.8 - Interactive high-level object-oriented language (version 3.8)
python3.9 - Interactive high-level object-oriented language (version 3.9)
여기서 원하는 버전을 설치한다.
# 원하는 버전으로 선택
$ apt install python3.x
PPA: personal package archive
개인 패키지 아카이브에서 다운 받는다. apt에서 원하는 버전이 없을 경우 주로 사용한다.
deadsnake ppa에 대한 설명
# ppa 추가 및 엽데이트
# apt로 software-properties-common 설치 필수
$ add-apt-repository ppa:deadsnakes/ppa
$ apt update
# ppa에서 설치 가능한 버전 확인
$ apt-cache search python3 | grep -E '^python3\.[0-9]+ '
python3.10 - Interactive high-level object-oriented language (version 3.10)
python3.11 - Interactive high-level object-oriented language (version 3.11)
python3.12 - Interactive high-level object-oriented language (version 3.12)
python3.13 - Interactive high-level object-oriented language (version 3.13)
python3.14 - Interactive high-level object-oriented language (version 3.14)
python3.7 - Interactive high-level object-oriented language (version 3.7)
python3.8 - Interactive high-level object-oriented language (version 3.8)
python3.9 - Interactive high-level object-oriented language (version 3.9)
여기서 원하는 버전을 설치한다.
# 원하는 버전으로 설치
apt install python3.x
기존에 가지고 있는 python 버전을 확인해 본다.
python3
과 python3.10
이라는 명령어가 python3.10 버전으로 연결되어 있는걸 확인 할 수 있다. (ubuntu 20.04 기준)
$ ls -al /usr/bin | grep python
lrwxrwxrwx 1 root root 24 Nov 7 05:22 pdb3.10 -> ../lib/python3.10/pdb.py
lrwxrwxrwx 1 root root 31 Aug 8 21:28 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root 10 Aug 8 21:28 python3 -> python3.10
-rwxr-xr-x 1 root root 5941832 Nov 7 05:22 python3.10
python3
명령어를 실행해 보면은 3.10버전이 실행되는걸 확인할 수 있다.
$ python3
Python 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
apt install로 원하는 버전을 설치한다.
# 또다른 버전으로 설치
$ apt install python3.11
설치된 python들을 확인 해 본다.
python3
과 python3.10
명령어는 는 3.10 버전으로,python3.11
명령어는 3.11버전으로 링크되어 있음을 확인할 수 있다.
$ ls -al /usr/bin | grep python
lrwxrwxrwx 1 root root 24 Nov 7 05:22 pdb3.10 -> ../lib/python3.10/pdb.py
lrwxrwxrwx 1 root root 24 Dec 4 17:55 pdb3.11 -> ../lib/python3.11/pdb.py
lrwxrwxrwx 1 root root 31 Aug 8 21:28 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root 10 Aug 8 21:28 python3 -> python3.10
-rwxr-xr-x 1 root root 5941832 Nov 7 05:22 python3.10
-rwxr-xr-x 1 root root 6720536 Dec 4 17:55 python3.11
python3
명령어로 3.11버전을 사용하고 싶기 때문에 링크를 변경해 준다.
# 링크변경
$ ln -sf /usr/bin/python3.11 /usr/bin/python3
변경됭 링크를 확인해 보면 python3
명령어가 3.11 버전으로 바뀐걸 확인 할 수 있다.
# 변경된 결과 확인
$ ls -al /usr/bin | grep python
lrwxrwxrwx 1 root root 24 Nov 7 05:22 pdb3.10 -> ../lib/python3.10/pdb.py
lrwxrwxrwx 1 root root 24 Dec 4 17:55 pdb3.11 -> ../lib/python3.11/pdb.py
lrwxrwxrwx 1 root root 31 Aug 8 21:28 py3versions -> ../share/python3/py3versions.py
lrwxrwxrwx 1 root root 19 Dec 11 16:32 python3 -> /usr/bin/python3.11
-rwxr-xr-x 1 root root 5941832 Nov 7 05:22 python3.10
-rwxr-xr-x 1 root root 6720536 Dec 4 17:55 python3.11
테스트 해보면 3.11로 실행되는걸 확인 할 수 있다.
$ python3
Python 3.11.11 (main, Dec 4 2024, 08:55:07) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>