pyenv
파이썬 버전 매니징 도구.
0. Prerequisites
pyenv를 통해 파이썬 설치 전에 운영체제 별로 필요한 패키지들이 있다.
필요한 패키지들은 바뀔 수 있으니, 에러가 나면 메시지를 확인하여 적절히 설치해주자.
# Mac
$ brew install openssl readline xz zlib
# Ubuntu
$ 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 git
1. 설치
- CURL을 통한 설치 방법
$ sudo curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
- Homebrew를 통한 설치 방법
$ brew install pyenv pyenv-virtualenv
- ~/.bashrc or ~/.bash_profile or ~/.zshrc 설정
export PATH="$PATH:${HOME}/.pyenv/bin"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
2. 사용법
# pyenv를 통해 설치 가능한 Python 버전 목록
$ pyenv install --list
# grep을 이용해 버전 목록 필터링
$ pyenv install --list | grep " 3.7" # 3.7 앞에 띄어쓰기: Python 버전만 나옴.
# 특정 Python 버전 설치
$ pyenv install {version} # ex) 3.9.16
# 특정 Python 버전 삭제
$ pyenv uninstall ${version} # ex) 3.9.16
# 시스템 전역 Python 버전 설정
$ pyenv global ${version}
# 디렉토리 (및 하위 디렉토리) 단위 Python 버전 설정
$ pyenv local ${version}
# 터미널 단위 Python 버전 설정
$ pyenv shell ${version}
pyenv-virtualenv
pyenv와 함께 사용하는 파이썬 가상환경 설정 도구.
# 사용법: pyenv virtualenv [version] [project name]
$ pyenv virtualenv 3.9.16 awesome_project
# 가상환경 목록 보기
$ pyenv virtualenvs
# 가상환경 활성화
$ pyenv activate awesome_project
# 가상환경 비활성화
$ pyenv deactivate
pyenv에서 다양한 가상환경을 설정하고 사용할 수 있으나, 나는 별로 선호하지 않는다.
디렉토리 단위로 설정하는 것을 좋아하므로, 다음의 venv를 사용하겠다.
venv
흔히 사용되는 파이썬 가상환경 설정 도구.
파이썬 3.3부터는 모듈이 내장되어 있어서 별도 패키지 설치가 필요없다.
# 사용법: python -m venv [venv directory name]
$ cd ${project directory}
$ python -m venv .venv
# venv 활성화
$ source .venv/bin/activate # 또는 . .venv/bin/activate
# venv 비활성화
$ deactivate
pyenv를 통해 Python 버전을 설정하고, 위와 같이 실행하면 디렉토리 내부에 .venv 폴더가 생성된다.
.venv 는 굳이 git에서 관리할 필요가 없으니 .gitignore에 추가해주자.