pyenv 설치 및 파이썬 가상환경 설정: 1분 완벽 가이드

여러 파이선 버전을 쉽게 설치하고 관리할 수 있도록 도와주는 도구에는 pyenv, conda 등이 있습니다. 이번 포스트에서는 pyenv에 대해서 알아보겠습니다. pyenv는 다양한 파이썬 버전(CPython, Anaconda, PyPy, 등)을 설치 지원하고 프로젝트 간의 종속성 충돌을 효과적으로 방지해 줍니다. 소스 코드를 빌드하는 방식으로 설치되기 때문에 시간이 걸리기는 하지만 아주 훌륭한 툴입니다.

그리고 추천해 드리는 운영 방식은 pyenv를 통해 여러 버전의 파이썬을 설치 및 관리하고, 특정 프로젝트 디렉토리에 원하는 파이썬 버전을 지정한 후 venv(Python 표준 라이브러리)을 사용해서 가상 환경을 관리 하는 것을 추천합니다. 구체적인 방법은 설치 방법 설명 후 마지막에 설명하겠습니다.

pyenv 설치 및 파이썬 가상환경 설정: 완벽 가이드

pyenv 설치는 ubuntu(22.04) 환경을 기준으로 설명합니다.

1. pyenv 의존성 패키지 설치하기

파이썬 버전을 설치하기 위해 build 하는 과정에서 발생할 수 있는 의존성 문제를 방지하기 위해 필요한 패키지들을 설치 합니다.

$ 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 python3-openssl git

2. pyenv 설치

$ curl https://pyenv.run | bash

3. virtualenv 설치(option)

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

4. shell 설정

사용하고 있는 쉘의 종류에 따라 .zshrc 혹은 .bashrc 파일에 입력해 주고, 설정 내용을 현재 쉘 세션에 적용합니다.

$ vi ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" # option

$ source ~/.bashrc

5. pyenv 사용법

# python 설치 가능 리스트 확인
$ pyenv install --list | less

# 특정 python 버전 설치
$ pyenv install [version]

# 설치된 python 버전 확인
$ pyenv versions

# 특정 python 버전을 global 하게 설정
$ pyenv global [version]
$ pyenv version
3.11.4

6. pyenv + venv 조합해서 가상환경 설정

시스템에 3.11.4, 3.11.6 두개의 버전이 설치되어 있고, 3.11.4 버전이 global 설정되어 있습니다.

# 현재 설치된 파이썬 버전 확인
$ pyenv versions
  system
* 3.11.4
  3.11.6

pyenv-test 프로젝트에서는 3.11.6 버전을 사용하도록 설정하겠습니다.

$ mkdir pyenv-test && cd pyenv-test
$ pyenv local 3.11.6
$ ls -alF
total 12
drwxr-xr-x  2 dk dk 4096 May 22 15:38 ./
drwxr-xr-x 11 dk dk 4096 May 22 15:37 ../
-rw-r--r--  1 dk dk    7 May 22 15:38 .python-version
$ cat .python-version
3.11.6

pyenv local 3.11.6 명령으로 pyenv-test 디렉토리에서는 3.11.6 버전을 사용하도록 설정했습니다. .python-version 파일에 버전 정보가 저장됩니다. 이제 3.11.6 버전의 python 으로 가상환경을 만들겠습니다.

$ pwd
/home/path/pyenv-test
$ python -m venv venv
$ source venv/bin/activate
$ pip list
Package    Version
---------- -------
pip        23.2.1
setuptools 65.5.0

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip

7. 마무리

이상으로 pyenv 설치 및 간단한 사용법에 대해서 설명했습니다. 그리고 프로젝트용 가상환경을 만드는 방법에 대해서 보여 드렸습니다. 참고하세요~!

Leave a Comment