ubuntu 18.04 LST에 Python 3.9 설치

KangMyungJoe·2023년 7월 20일
1

tips

목록 보기
3/4
  • 현재 워크스테이션에 설치되어있는 파이썬은 3.7.X 인데, 3.9.X로 업데이트 해야할 상황이 생겼다.
  • 워크스테이션은 우분투를 OS로 사용하고 있으며, 원격으로 접근하여 사용 중이다.

ubuntu에 python 3.9 설치 방법


1. Apt를 이용한 설치

$ sudo apt update
$ sudo apt install software-properties-common	# 필요한 프로그램 설치

$ sudo add-apt-repository ppa:deadsnakes/ppa	# 레포지토리 등록

$ sudo apt install python3.9					# 파이썬 설치

위 내용으로 python을 설치하려고 했을 때, python3.9 이름에 해당하는 패키지를 찾을 수 없습니다. 라는 내용의 에러가 발생했다.

구글링을 많이 해봐도, 문제를 해결하지 못해서 다른 방법을 시도했다.


2. Source를 이용한 설치

$ sudo apt update
$ sudo apt install build-essential zlib1g-dev libncurses5-dev \
  libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \
  libsqlite3-dev wget libbz2-dev 		# 기본 프로그램 설치
   
$ wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
$ tar -xf Python-3.9.1.tgz
$ cd Python-3.9.1
$ ./configure --enable-optimizations
$ make -j 12							# wget으로 python3.9 소스를 다운받고 빌드


$ sudo make altinstall 					# 설치

$ python3.9 --version					# 설치 확인
설치한 파이썬 버전

위 내용으로 설치하려고 했을 때, ./source 명령어를 정상적으로 수행하지 못하는 에러가 발생했다.

그러던 도중, 기본 프로그램 설치하는 부분에서 약간의 변화를 주어 문제를 해결한 사례를 발견했다.

stackoverflow 답변에 존재한다.

$ sudo apt install build-essential zlib1g-dev \
$ libncurses5-dev libgdbm-dev libnss3-dev \
$ libssl-dev libreadline-dev libffi-dev curl software-properties-common

위에서 수행한 명령어들과 전반적으로 비슷하지만, curl software-properties-common 부분이 추가되었다.

이후,

$ wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz 
(3.9.X는 원하는 버전을 작성하시면 됩니다)

$ tar -xf Python-3.9.0.tar.xz

$ cd Python-3.9.0

$ ./source

$ sudo make altinstall

의 순서로 명령어를 입력하여 설치를 완료했다.


설치한 버전을 Default Python3 버전으로 설정하기

$ rm /usr/bin/python3							# 시스템에 있는 파이썬 바이너리 파일 삭제
$ ln -s /usr/bin/python3.5 /usr/bin/python3		# 기존에 있는 버전의 심볼릭 링크 생성

$ alias python3='/usr/bin/python3.9' 			# Python3을 실행했을 때 3.9 실행하도록
  or 	
  alias python3='/usr/local/bin/python3.9'		# 3.9로 alias 설정
profile
소통을 잘하는 개발자가 되고 싶습니다.

4개의 댓글

comment-user-thumbnail
2023년 7월 20일

많은 도움이 되었습니다, 감사합니다.

1개의 답글
comment-user-thumbnail
2023년 7월 20일

정말 잘쓰셨습니다!

1개의 답글