티스토리 뷰

Ubuntu 16.04에 Python3.7 설치

Ubuntu 16.04에 Python3.7 설치

몇년전에 개발했던 보드에 추가기능을 파이썬으로 구현을 해야하는데 버전이 낮은 문제가 있다.

기본 버전으로 파이썬3.5가 설치되어 있는데 개발에 사용할 pip 패키지들의 최소 요구사항이 python3.6이다.

기존에 운영중이 서비스와 프로그램들에 문제가 없도록 최소한의 업그레이드만 해야한다.

우선 우분투 16.04에서 설치할 수 있는방법으로 PPA를 사용하는 방법과 소스컴파일이 있는 것 같다.

개발환경

  • aarch64
  • Kernel 4.4.172
  • Ubuntu 16.04

PPA

1. ppa repository 추가

sudo add-apt-repository ppa:deadsnakes/ppa

2. 패키지 설치

sudo apt update
sudo apt install python3.7

3. 이슈

예전에 설치가 잘된것 같은데 업데이트가 되었는지 모르지만 이제 16.04에서는 설치가 안된다.

Supported Ubuntu and Python Versions
====================================

- Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.13
- Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11 - Python3.13
- Ubuntu 24.04 (noble) Python3.7 - Python3.11, Python3.13
- Note: Python2.7 (focal, jammy), Python 3.8 (focal), Python 3.10 (jammy), Python3.12 (noble) are not provided by deadsnakes as upstream ubuntu provides those packages.

Why some packages aren't built:
- Note: for focal, older python versions require libssl<1.1 so they are not currently built
- Note: for jammy and noble, older python versions requre libssl<3 so they are not currently built
- If you need these, reach out to asottile to set up a private ppa

The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.

https://github.com/deadsnakes/python3.7

소스컴파일

1. 먼저 필요한 의존성 패키지들을 설치합니다.

sudo apt-get update
sudo apt-get install -y build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

2. Python 3.7.x 소스코드를 다운로드합니다 (버전 번호는 최신 버전으로 변경 가능)

cd /tmp
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
tar xzf Python-3.7.9.tgz

3. 소스 디렉토리로 이동하여 컴파일 및 설치를 진행합니다.

cd Python-3.7.9
./configure --enable-optimizations
sudo make altinstall

4. 설치가 완료되면 버전을 확인합니다.

python3.7 --version

이 방법을 사용하면 기존 시스템 Python을 건드리지 않고 Python 3.7을 별도로 설치할 수 있습니다.

주의: make altinstall을 사용하는 것이 중요합니다. make install을 사용하면 기본 Python 바이너리를 덮어쓸 수 있습니다.

Update Alternatives

여러 파이썬 버전에서 기본으로 사용할 버전을 선택하자.

버전추가

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3

버전선택

이제 사용할 버전을 선택하자

sudo update-alternatives --config python

 

버전확인

$ python -V
Python 3.7.9

pip 업그레이드

다운로드 및 설치

wget https://bootstrap.pypa.io/pip/3.7/get-pip.py
python get-pip.py

버전확인

pip -V
pip 24.0 from /home/artik/.local/lib/python3.7/site-packages/pip (python 3.7)
반응형