EC2 에 Python3.7 에서 Python3.8 3.10 업그레이드 및 다운로드

신동수·2024년 2월 15일
0

Server

목록 보기
2/9

개요

서버에서 Python3.7 의 경우 지원이 종료가 되어 Python3.10 으로 업그레이드 하는 포스팅을 작성하고자 한다.

Python release cycle


Python release
자세한 릴리즈 정보는 위에서 확인하여 지원이 종료되는 시점을 확인할 수 있다.

Python3.8 Version Upgrade

$ aws --version
aws-cli/1.18.147 Python/2.7.18 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
$ python3 -V
Python 3.7.16

먼저 아마존 리눅스2의 경우 awscli 와 python3.7 이 설치가 되어 있는 상태이다.

# python3.7 삭제
$ yum remove -y python3.7
# python3.8 설치
$ yum install python3.8
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.6 kB     00:00     
225 packages excluded due to repository priority protections
No package **python3.8** available.
Error: Nothing to do

yum 을 통해 다운로드 시 다운로드 받을 수 있는 패키지가 없다고 발생이 된다.

$ yum install amazon-linux-extras

먼저 아마존 리눅스2 인스턴스에서 Python을 다운받기 위해서는 amazon-linux-extras 라는 패키지가 필요하다.

# amazon-linux-extras 를 통해 python3.8 활성화
$ amazon-linux-extras | grep python
 44 †**python**3.8=latest         available      [ =stable ]
 72  collectd-**python**3         available      [ =stable ]
$ amazon-linux-extras enable python3.8
$ amazon-linux-extras | grep python
 44 †**python**3.8=latest         enabled        [ =stable ]
 72  collectd-**python**3         available      [ =stable ]
$ yum install -y python3.8

 Python3.8 도 필요한 사용자가 있을 수 있기에 본 포스팅에서 함께 정리하겠다.

# /usr/bin 아래에 python3.8 다운로드 확인
$ ls -l /usr/bin/python3.8
-rwxr-xr-x 1 root root 7048  218  2021 /usr/bin/python3.8
# python 버전 확인
$ python3 -V
-bash: python3: command not found

Pytho3.8 을 설치 하였지만 명령어를 찾을 수 없다고 한다. 이 경우 환경 변수 설정을 해주거나, update-alternatives 을 사용해서 파이썬 버전을 변경할 수 있도록 추가를 할 수 있다.

# Python 등록 확인
$ update-alternatives --config python3
# 설치한 Python3.8 등록
# update-alternatives --install [심볼릭 링크 경로] python3 [파이썬 실제 경로] [우선순위 숫자]
$ update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
# Python 등록
$ update-alternatives --config python3
1 개의 프로그램이 'python3'를 제공합니다.

  선택    명령
-----------------------------------------------

*+ 1           /usr/bin/python3.8

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:

위와 같이 나온다면 "1" 을 입력한 후 CLI 화면에서 Python 버전 확인을 한다면 정상적으로 3.8 버전이 설정이 된 것을 확인할 수 있다.

Python3.8 을 다운로드 받기 위해서는 위와 같이 활성화 후 설정을 진행하면 된다.
하지만 python3.10 은 amazon-linux-extras 패키지에 없어 수동으로 설치를 진행하겠다.

Python3.10 Version Upgrade

# Amazone Linux 2 용 개발 도구 그룹을 설치
$ yum update -y
$ yum groupinstall "Development Tools" -y
$ yum erase openssl-devel -y
$ yum install openssl11 openssl11-devel libffi-devel bzip2-devel wget -y

# wget 을 통한 tar 파일 다운로드 및 컴파일 설치
$ wget https://www.python.org/ftp/python/3.10.10/Python-3.10.10.tgz
$ tar -xvf Python-3.10.10.tgz
$ cd Python-3.10.10/
$ make
$ make altinstall
$ rm -rf Python-3.10.10*

# Python3.10 경로 추가
$ update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 1
# pip3 의 경우 /usr/local/bin 아래에 있기에 /usr/bin 아래로 이동
$ mv /usr/local/bin/pip3.10 /usr/bin
$ pip3.10 -V
pip 24.0 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
$ update-alternatives --config python3

1 개의 프로그램이 'python3'를 제공합니다.

  선택    명령
-----------------------------------------------

*+ 1           /usr/local/bin/python3.10

현재 선택[+]을 유지하려면 엔터키를 누르고, 아니면 선택 번호를 입력하십시오:
$ python3 -V
Python 3.10.10

참고 :
https://dev.classmethod.jp/articles/lim-ec2-python-download/
https://hello-bryan.tistory.com/487
https://sangchul.kr/entry/aws-amazon-Linux-2%EC%97%90-python-39%EB%A5%BC-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글