이 글은 다음 글을 번역하여 정리한 글입니다.
pyenv란?
시스템 파이썬(System Python)은 OS에 설치되어 제공되는 파이썬이다. 시스템 파이썬은 시스템 전체에서 사용할 수 있기 때문에 편리하다. 하지만, 프로젝트별로 다른 버전의 파이썬을 사용해야 하는 경우 시스템 파이썬을 사용하면 문제가 생길 수 있다. 이러한 문제를 해결하기 위해 pyenv를 사용할 수 있다.
pyenv는 다양한 버전의 파이썬을 관리하는 도구이다.yenv를 사용하면 프로젝트별로 원하는 버전의 파이썬을 설치하고 사용할 수 있다. 이를 통해 프로젝트의 안정성을 보장하고, 개발 과정에서 발생할 수 있는 충돌을 방지할 수 있다.
pyenv 설치
pyenv를 설치하기 전에, 운영체제에 따라 필요한 몇 가지 종속성을 설치해야 한다. 이 종속성들은 대부분 C로 작성된 개발 유틸리티이며, pyenv가 Python을 소스로부터 빌드하여 설치하기 때문에 필요하다.
Ubuntu / Debian
$ sudo apt-get 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 python-openssl
Fedora / CentOS / RHEL
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel
MacOS
$ brew install openssl readline sqlite3 xz zlib
운영체제에 맞는 빌드 종속성을 설치한 후 pyenv-installer를 설치하면 된다.
$ curl https://pyenv.run | bash
설치를 완료하면, 다음과 같은 문구가 나타난다.
출력 결과는 사용자의 셸에 따라 다를 수 있다. 그러나 pyenv를 사용자의 경로에 추가하고, pyenv/pyenv-virtualenv 자동 완성을 초기화하려면 안내를 따라야한다. 이 작업이 끝나면 셸을 다시 로드해야 한다.
$ exec "$SHELL"
python 설치
python 설치
pyenv를 설치했으면, 다음 단계로 파이썬을 설치한다. 설치할 수 있는 많은 버전의 파이썬이 존재하며, 이용가능한 파이썬의 버전들을 확인하기 위해 아래와 같이 명령어를 사용할 수 있다.
# pyenv가 제공하는 모든 파이썬 버전 확인
$ pyenv install --list
# 이용 가능한 CPython 3.6 ~ 3.7 사이의 버전 확인
$ pyenv install --list | grep " 3\.[678]"
원하는 버전이 존재하면, 다음 명령을 통해 설치할 수 있다.
# python 3.10.4 설치
$ pyenv install 3.10.4
설치 위치
pyenv는 소스에서 파이썬을 빌드하여 작동한다. 설치한 각 버전은 pyenv 루트 디렉터리에 존재한다.
$ ls ~/.pyenv/versions/
삭제를 원하는 버전이 존재하면 다음 명령을 수행한다.
# python 3.10.4 제거
$ pyenv uninstall 3.10.4
설치한 파이썬 버전을 확인하려면 다음 명령을 수행한다.
$ pyenv versions
pyenv 명령어
install
특정 버전의 파이썬을 설치하는 데 사용하는 명령이다.
# Python 3.6.8 버전 설치
$ pyenv install 3.6.8
global
전역 파이썬 버전을 설정하는 명령이다. 기본적으로 특정 파이썬 버전을 사용하도록 하는 데 유용하다.
# 기본 파이썬 버전을 3.6.8로 설정
$ pyenv global 3.6.8
local
특정 디렉터리에서 특정 버전의 파이썬을 사용하는 데 사용된다.
# 현재 디렉터리에서 Python 2.7.15 버전을 사용하도록 설정
$ pyenv local 2.7.15