우분투에서 python 여러 버전 설치하고 관리하기 - pyenv, virtualenv
우분투에서는 python을 여러 버전을 설치하고 사용하기 위해 pyenv라는 패키지를 사용할 수 있습니다.
pyenv로 python3.10, python3.11, python3.12, python3.13 등을 설치하고 자유롭게 사용해보세요.
설치 명령어는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
# pyenv 설치에 필요한 기본 패키지 설치
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
# pyenv 설치 (curl)
curl https://pyenv.run | bash
이제 시스템 환경설정에 pyenv 경로를 추가해줍니다. .bashrc에 들어가서 맨 마지막 줄에 다음과 같이 추가해줍니다.
1
2
3
4
5
6
7
echo 'export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"
eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
cli에서 적용을 해줍니다.
1
source ~/.bashrc
1
2
pyenv --version
>> pyenv 2.6.4
잘 설치 되었습니다.
pyenv로 설치한 파이썬은 홈디렉토리(~/.pyenv/versions/)에 저장됩니다.
이제 설치된 os버전에서 설치 가능한 pyenv 버전들을 확인합니다.
1
2
pyenv install --list
리스트에 있는 버전들 중에서 골라서 설치합니다.
이제 pyenv로 여러가지 python 버전들을 설치해봅니다.
1
2
pyenv install 3.11
pyenv install 3.13
대표로 글로벌하게 사용할 파이썬을 pyenv로 지정해줄 수도 있습니다.
1
2
pyenv global 3.13
아니면 현재 세션에서만 하거나,
1
pyenv shell 3.13
특정 프로젝트(폴더)에서만 할 수도 있습니다.
1
2
cd myproject
pyenv local 3.13
이제, 포스팅 제목에 소개했듯 virtualenv를 사용해서 가상환경을 만들어서 사용해봅니다.
1
pyenv virtualenv 3.13 .venv
.venv라는 이름으로 파이썬3.13 버전 가상환경을 만들었습니다.
가상환경 활성화와 비활성화는 다음처럼 합니다.
1
2
pyenv activate .venv
deactivate
만든 가상환경들 확인은 다음처럼 합니다.
1
pyenv virtualenvs
보통 프로젝트 별 파이썬 버전을 지정해주고, 그 안에서 가상환경을 다시 한번 더 만들어서 안전하게 사용합니다.
여러 버전 파이썬 설치 → 프로젝트마다 버전 지정 → pyenv-virtualenv로 독립 가상환경까지 관리
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
