Python 개발환경 설정

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에 추가해주자.