개요
Python 3.6은 Ubuntu 18.04와 함께 제공되는 기본 버전입니다 이것을 최신 버전으로 Upgrade 해보도록 하겠습니다. 글을 작성하는 현재 최신 버전은 3.9입니다.
현재 설치된 버전 확인
$ python3 --version
Python 3.6.9
패키지 매니저로 설치하기
비록 Ubuntu 18.04의 기본 버전은 아니지만 python 3.7과 python 3.8은 다음과 같이 패키지 매니저를 사용하여 손쉽게 설치가 가능합니다.
$ sudo apt update
$ sudo apt install python3.7
$ sudo apt install python3.8
소스코드로 설치하기
가장 최신 버전인 python 3.9는 현재 Ubuntu 18.04의 패키지 저장소를 통해 제공되지 않기 때문에 직접 소스코드를 이용해 설치해 주어야 합니다.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
임시 디렉터리를 생성한 후 python 소스를 다운로드합니다.
$ mkdir ~/tmp
$ cd ~/tmp
$ wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
소스코드를 다운로드한 후, 다음 명령을 실행하여 압축을 해제한 후, configure를 수행합니다.
$ tar -xvzf Python-3.9.1.tgz
$ cd Python-3.9.1
$ ./configure
다음 명령을 사용하여 python을 설치합니다. 이때 시스템의 python을 덮어쓰지 않도록 altinstall을 사용합니다.
$ sudo make altinstall
python 3.9가 제대로 설치되었는지 확인합니다.
$ python3.9 --version
Python 3.9.1
python 명령어로 python3 실행하기
~/.bashrc 또는 ~/.bash_aliases 파일에 아래의 내용을 추가합니다.
alias python=python3
alias pip=pip3
그리고 이를 적용하기 위해 source ~/.bashrc 또는 source ~/.bash_aliases를 실행합니다.
$ python --version
Python 3.6.9
동일한 방법으로 사용하고자 하는 버전을 선택하면 됩니다. python3.7, python3.8, python3.9 등
여러 Python3 버전을 선택하여 실행하기
※ Ubuntu 18.04 에서 사용시 오류가 있어 사용하길 권장하지 않습니다.
시스템의 기본 버전이 아닌 python3을 기본값으로 설정 하겠습니다.
3.6 버전을 설정합니다.
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
update-alternatives: using /usr/bin/python3.6 to provide /usr/bin/python3 (python3) in auto mode
$ python --version
Python 3.6.9
3.7 버전을 추가합니다.
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
update-alternatives: using /usr/bin/python3.7 to provide /usr/bin/python3 (python3) in auto mode
$ python --version
Python 3.7.5
3.8 버전도 추가합니다.
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 3
update-alternatives: using /usr/bin/python3.8 to provide /usr/bin/python3 (python3) in auto mode
$ python --version
Python 3.8.0
3.9 버전도 추가합니다. (소스에서 설치하여 경로가 다릅니다.)
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 4
update-alternatives: using /usr/local/bin/python3.9 to provide /usr/bin/python3 (python3) in auto mode
Python 3.9.1
명령어 뒤에 붙인 숫자 1, 2, 3, 4는 우선순위입니다. (클수록 우선순위가 높습니다.) 즉, auto mode에서는 숫자가 가장 높은 python3.9를 사용하도록 설정하였습니다.
다른 버전을 사용하고자 할 경우, 다음 명령을 통해 변경합니다.
$ sudo update-alternatives --config python3
There are 4 choices for the alternative python3 (providing /usr/bin/python3).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/bin/python3.9 4 auto mode
1 /usr/bin/python3.6 1 manual mode
2 /usr/bin/python3.7 2 manual mode
3 /usr/bin/python3.8 3 manual mode
4 /usr/local/bin/python3.9 4 manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/python3.8 to provide /usr/bin/python3 (python3) in manual mode
$ python --version
Python 3.8.0
다시 auto mode로 돌아가려면 다음 명령을 실행합니다.
$ sudo update-alternatives --auto python3
update-alternatives: using /usr/local/bin/python3.9 to provide /usr/bin/python3 (python3) in auto mode
$ python --version
Python 3.9.1
보충
update-alternatives사용시 sudo apt update를 사용하면 오류가 발생합니다. 이 때는 ubuntu 18.04 시스템의 기본 버전인 python 3.6 으로 선택 후 사용하면 됩니다.
참고
'운영체제' 카테고리의 다른 글
| [linux] 부팅가능 USB 드라이브 만들기 (0) | 2021.02.28 |
|---|---|
| [WSL] 우분투 18.04를 20.04로 업그레이드 하기 (0) | 2020.12.15 |
| [WSL] chmod 미작동 조치 (0) | 2020.10.27 |
| WSL에 Node.js 개발 환경 설치 (0) | 2020.07.01 |
| NVM으로 WSL에 Node.js 설치시 권한 오류 (0) | 2020.05.24 |