반응형

python 3.8.12, 3.x 버전 설치

버전 설치라고 하지만, 실제로는 빌드작업이다. 여기서는 3.8.12 버전을 빌드한다. 글을 적는 시점에서 최신버전인 3.9.x를 설치하더라도 버전 숫자만 바꿔서 진행을 해도 무난하다.

배경

간만에 방 구석에서 굴러다니는 raspberry pi3 를 2021년 9월 시점의 rasbian lite 버전을 설치했다. 여기에는 python 3.7.3 이 기본적으로 설치가 되어 있다. 얼마전 pyqt5 를 윈도에서 시험삼아서 테스트할 때 python3.8.10 이상이 되어야 다른 package에 문제가 없는 것을 확인했기 때문에 3.8.12를 설치하려 했다. 하지만, apt install 명령어는 기본적으로 이미 빌드가 되어 있는 파일을 설치하는 것이라 apt에 등록되어 있는 repository에 새로운 빌드된 것이 없다면, apt install 로 설치할 수 없다.

이 때문에 자신의 (독특하고 까다로운?) 입맛대로 버전을 바꿔서 설치를 하기 위해서는 필요한 python 3.8.12 소스파일을 직접 다운로드 받아서 직접 빌드 하여 설치하는 방법이 있다. 문제는 이 방법은 상당한 시간이 걸린다.

따라서 만약 해당 환경을 양산을 해야 한다면, deb package로 만들거나 img로 만들어 놓고 쓰는 것을 추천한다.

빌드 방법

우선 빌드에 필요한 빌드 도구들이 필요하다. python 공식 문서에서 찾을 수 있을 것이다(아마도).

sudo apt install -y build-essential tk-dev libncurses5-dev libncursesw5-dev \
    libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev \
    libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev \
    libffi-dev tar wget vim

python 소스코드 다운로드

https://www.python.org/ftp/python/ 에서 소스코드 압축 파일을 마우스 우클릭 한뒤 링크복사를 선택하여 복사한다음에 wget 명령어 뒤에 붙여넣어서 다운로드를 받자.

wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz

빌드

다운로드된 압축파일을 풀고 해당 폴더에서 make 명령어를 순서대로 입력하면 된다.

sudo tar zxf Python-3.8.12.tgz
cd Python-3.8.12
sudo ./configure --enable-optimizations
sudo make -j4
sudo make altinstall

만약 sudo make -j4 진행중에 실패를 했다면 메모리 부족일 가능성이 높다. 이경우 -j 뒤의 숫자를 줄여서 다시 시도하면 된다. 자신이 상남자가 아닌 겁쟁이라면 처음부터 -j2로 해도 상관 없다.

설치 확인

그냥 python 버전으로 확인해보면 된다.

python3.8 -V

환경변수 설정

python 명렁어의 환경변수를 수정하여 3.8.12가 실행되도록 하자, 다음 명령어 한줄이면 된다. 만약 잘못 입력을 했다면, vim 혹은 nano 같은 편집 툴로 마지막줄을 수정하면 된다.

echo "alias python=/usr/local/bin/python3.8" >> ~/.bashrc
source ~/.bashrc
python --version

패키지 관리

pip 도 경로를 확인하고 환경변수를 변경해도 된다. 기본적으로 sudo apt install python3-pip 로 설치할 경우 3.7.3 버전에 해당되는 pip3가 설치된다. python -m pip install $package 형태로 사용하면 된다.

python -m pip --version

참조

 

How to install Python 3 - Raspberry Pi Forums

billintad wrote: As far as I am aware the recommended way to install a python package is to use : man says: NAME pip - A tool for installing and managing Python packages SYNOPSIS pip [options] pip3 [options] DESCRIPTION pip is a Python package installer, r

forums.raspberrypi.com

 

 

Updating Python 3.7 to 3.8 on Raspberry Pi

I recently updated my Raspberry Pi with sudo apt update and sudo apt full-upgrade to the system. Even if Python 3.8 is out, when I run python3 in terminal, it shows me version 3.7, instead of 3.8. ...

raspberrypi.stackexchange.com

 

[Python] 라즈베리파이에서 python 최신 버전 설치하기

라즈베리3b+를 기준으로 작성되었습니다.라즈베리파이에 Python 3.5.3 버전이 제공되고 있다python을 최신 버전으로 변경하는 방법은 아래와 같다 ( 3.8.5 버전을 기준으로 작성 )1. Python을 설치하기 전

power-of-optimism.tistory.com

 

반응형

+ Recent posts