본문 바로가기

개발환경

라즈베리파이에서 pyenv로 여러 버전 파이썬 사용법

라즈베리파이 OS와 같은 리눅스 계열 OS는 파이썬이 기본 설치되어 있는데, 수많은 시스템 유틸리티와 데스크톱 환경은 기본 설치된 파이썬 버전에 강하게 의존하고 있습니다. 그렇기 때문에 기본 설치된 파이썬 버전을 바꾸면 시스템 전반에 문제가 발생할 수 있습니다. 실제로는 버전업을 하거나 모듈을 설치하려고 해도 제한되게 됩니다. 문제는 내가 사용할 파이썬 버전은 미리 설치된 파이썬 버전보다 높거나 같은 마이너 버전이라도 최신 패치 버전을 사용하려고 할 때 생깁니다.

이 글을 쓰는 현재 라즈베리파이 OS에 설치된 파이썬 버전은 3.13.5인데 가장 최신 패치 버전은 3.13.13입니다. 이러한 문제를 해결하기 위해서 가장 많이 사용하는 것이 pyenv이고 이를 설치하고 사용하는 방법에 대해 설명합니다.


1. 소스 빌드를 위한 필수 패키지 설치
pyenv를 설치하거나 다운로드한 소스를 빌드 하는데 필요한 필수 패키지를 설치합니다. 내용 중에 일부분은 이미 설치된 것도 있는데 라즈베리파이 OS가 버전업 되면서 바뀔 수 있으므로 아래의 내용 전체를 시도하는 것이 좋습니다. 내용이 꽤 길므로 복사해서 붙여 넣는 것이 좋습니다.

sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libgdbm-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

 

 

2. pyenv 설치

curl https://pyenv.run | bash

 

 

3 .bashrc 편집
~/.bashrc  가장 아래에 내용 추가 후 쉘 실행

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

 

exec $SHELL <- 쉘 실행

4. 원하는 파이썬 버전 설치
pyenv install 3.13.13

5. 작업할 폴더 이동 후 설치한 파이썬 버전을 설정
cd python
pyenv local 3.13.13

6. 버전 확인
원하는 파이썬 버전이 실행되는지 확인합니다. 기본 설치된 파이썬의 경우 python3로 실행해야 하지만  pyenv로 설정된 파이썬은 python, python3 전부 가능합니다. 다른 폴더로 이동해서 python3를 실행하면 3.13.5가 실행되게 됩니다.
python -V

※ 이 방법을 이용하면 폴더마다 다른 버전의 파이썬을 사용하도록 설정할 수 있습니다.


1. pyenv로 설치된 파이썬 위치
pyenv를 이용해서 설치된 파이썬은 계정 바로 아래에 .pyenv 폴더 안에 있습니다.

ls -l ~/.pyenv/versions

를 실행하면 내가 설치한 파이썬 리스트를 볼 수 있습니다. 해당 버전의 pip와 라이브러리 저장소도 따로 존재해서 버전 간 충돌이 발생할 위험이 전혀 없습니다. 굳이 단점이라면 여러 버전에 각각 꼭 같은 라이브러리를 개별 설치해 줘야 하고 업데이트도 해야 한다는 것입니다.

2. 추가 발표된 마이너 버전 또는 패치 버전 설치
pyenv로 3.13.13 버전을 설치 후에 패치 버전인 3.13.14가 나왔을 경우에 추가 설치 방법입니다.


pyenv update
pyenv install --list | grep 3.13.14
pyenv install 3.13.14

이후 특정 폴더에서는 3.13.14가 실행되도록 하는 것은 4, 5번 작업과 동일합니다.

3. 로컬 파이썬 버전을 지정 후 해제 하는 방법
특정 폴더에서 동작하는 파이썬 버전을 해제하는 방법으로 우선 해제하려는 폴더로 이동 후에 아래의 명령을 실행합니다.


pyenv local --unset