콘텐츠로 건너뛰기

파이썬 버전 관리의 비결: 간편하게 사용하는 방법

[

Python 버전 관리하기

이 레퍼런스에서는 다음과 같은 내용을 배우게 됩니다:

  1. 여러 개의 Python 버전 설치하기
  2. 최신 개발 버전의 Python 설치하기
  3. 설치된 버전 간에 전환하기
  4. pyenv와 가상 환경 사용하기
  5. 다양한 Python 버전과 가상 환경 자동으로 활성화하기

pyenv를 사용하는 이유

시스템 Python을 사용하지 않는 이유

그렇다면 시스템 Python을 사용하지 않는 이유는 무엇일까요? 이것을 이해하기 위해 “시스템 Python”이 운영 체제에 “속하는” Python이라고 생각할 수 있습니다. 결국 이것이 운영 체제와 함께 설치된 Python이기 때문입니다. 실제로 which 명령어를 실행해보면 확인할 수 있습니다:

Terminal window
$ which python
/usr/bin/python

여기서 /usr/bin/python 위치에 있는 것으로 보아 python은 모든 사용자에게 사용 가능한 것으로 나타납니다. 아마도 이것이 원하는 버전의 Python은 아닐 것입니다:

Terminal window
$ python -V
Pyhton 2.7.12

시스템 Python에 패키지를 설치하려면 sudo pip install을 실행해야 합니다. 이는 시스템 Python의 위치와 권한 때문입니다. 시스템 Python이 운영 체제에 설치된 패키지들과 강하게 결합되어 있기 때문에 다른 Python 버전과 관련된 패키지를 설치하는 것은 일반적으로 좋은 아이디어가 아닙니다.

pyenv 설치하기

pyenv를 설치하는 방법은 여러 가지가 있습니다. 여기에서는 pyenv-installer를 사용한 설치 방법을 안내합니다.

설치 전 요구 사항

pyenv를 설치하기 전에 몇 가지 종속성을 설치해야 합니다.

Mac OS X

Mac OS X의 경우 Homebrew 패키지 관리자를 사용하여 종속성을 설치할 수 있습니다.

Terminal window
$ brew update
$ brew install openssl readline sqlite3 xz zlib

Ubuntu

Ubuntu의 경우 다음 명령어를 사용하여 종속성을 설치할 수 있습니다.

Terminal window
$ sudo apt update
$ sudo apt install -y 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

Windows

Windows의 경우 pyenv-win을 사용하여 pyenv를 설치할 수 있습니다. 자세한 설치 방법은 공식 pyenv-win GitHub 페이지를 참조하세요.

pyenv-installer 사용하기

pyenv-installerpyenv를 설치하는 가장 쉬운 방법 중 하나입니다. 아래 명령어를 사용하여 pyenv-installer를 다운로드하고 설치합니다.

Terminal window
$ curl https://pyenv.run | bash

pyenv 설치가 완료되면 터미널을 닫았다가 다시 열거나 다음 명령어를 실행하여 변경 사항을 적용합니다.

Terminal window
$ exec $SHELL

설치가 성공적으로 완료되었습니다. 이제 pyenv를 사용하여 Python 버전을 설치하고 관리할 수 있습니다.

pyenv를 사용하여 Python 설치하기

pyenv를 사용하여 Python을 설치하는 방법을 알아봅시다.

설치 위치

pyenv를 사용하여 Python을 설치하면 디렉토리 구조가 다음과 같이 설정됩니다.

~/.pyenv
├── versions
│ ├── 3.7.12
│ ├── 3.8.12
│ └── 3.9.7
├── shims
└── ...

레포지토리의 versions 디렉토리에는 설치된 각 Python 버전이 개별적으로 저장됩니다. 예를 들어, 3.7.12 버전의 Python을 설치한 경우 ~/.pyenv/versions/3.7.12에 해당 버전이 저장됩니다. 또한 shims 디렉토리에는 pyenv로 설치한 Python 실행 파일에 대한 별칭이 저장됩니다.

새로운 Python 사용하기

pyenv install 명령어를 사용하여 원하는 Python 버전을 설치할 수 있습니다. 예를 들어, 3.7.12 버전의 Python을 설치하려면 다음 명령어를 실행합니다.

Terminal window
$ pyenv install 3.7.12

설치가 완료되면 pyenv versions 명령어를 사용하여 설치된 Python 버전을 확인할 수 있습니다.

Terminal window
$ pyenv versions
* system (set by /path/to/your/.python-version)
3.7.12

* 기호는 현재 활성화된 Python 버전을 나타냅니다. 이제 pyenv를 사용하여 설치한 Python 버전을 사용할 수 있습니다.

pyenv 명령어 탐색하기

pyenv에는 다양한 명령어가 있습니다. 주요한 몇 가지 명령어를 알아봅시다.

install

install 명령어는 Python 버전을 설치하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv install <version>

<version>은 설치할 Python 버전입니다.

versions

versions 명령어는 설치된 Python 버전을 나열하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv versions

which

which 명령어는 특정 Python 실행 파일의 경로를 확인하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv which <executable>

<executable>은 실행 파일의 이름입니다.

global

global 명령어는 전역 Python 버전을 설정하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv global <version>

<version>은 사용할 Python 버전입니다.

local

local 명령어는 현재 디렉토리에 대한 Python 버전을 설정하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv local <version>

<version>은 사용할 Python 버전입니다.

shell

shell 명령어는 현재 셸에 대한 Python 버전을 설정하는 데 사용됩니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv shell <version>

<version>은 사용할 Python 버전입니다.

Python 버전 지정하기

pyenv를 사용하면 다양한 방법으로 Python 버전을 지정할 수 있습니다. 가장 간단한 방법은 .python-version 파일을 사용하는 것입니다. 이 파일은 작업하고 있는 디렉토리에 넣어두면 해당 디렉토리의 Python 버전을 자동으로 설정해줍니다.

Terminal window
$ echo "3.7.12" > .python-version

이제 해당 디렉토리에서 Python을 실행하면 pyenv가 자동으로 .python-version 파일에 지정된 버전의 Python을 사용합니다.

가상 환경과 pyenv

pyenv를 사용하면 가상 환경도 쉽게 관리할 수 있습니다. 가상 환경을 사용하면 각각 다른 Python 버전과 패키지를 분리하여 독립된 환경을 만들 수 있습니다.

가상 환경 만들기

pyenv virtualenv 명령어를 사용하여 가상 환경을 만들 수 있습니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv virtualenv <version> <env_name>

<version>은 가상 환경에서 사용할 Python 버전이고, <env_name>은 가상 환경의 이름입니다.

버전 활성화하기

가상 환경을 사용하려면 활성화하여 해당 환경으로 전환해야 합니다. pyenv activate 명령어를 사용하여 활성화할 수 있습니다. 다음과 같은 형식으로 사용할 수 있습니다:

Terminal window
$ pyenv activate <env_name>

<env_name>은 활성화할 가상 환경의 이름입니다.

여러 환경에서 작업하기

pyenv를 사용하면 여러 개의 환경을 동시에 사용할 수 있습니다. 다른 Python 버전을 사용하는 프로젝트를 작업하는 동안 pyenv를 사용하여 빠르게 전환할 수 있습니다.

Conclusion

이 레퍼런스에서는 pyenv를 사용하여 여러 개의 Python 버전을 관리하는 방법에 대해 알아보았습니다. pyenv를 사용하면 더 쉽고 편리하게 Python 개발 환경을 구축할 수 있습니다. Python의 다른 버전을 설치하고 전환하는 것은 매우 간단합니다. 또한 pyenv를 사용하여 가상 환경을 만들고 관리할 수 있습니다. 이를 통해 각각 다른 Python 버전과 패키지를 분리하여 프로젝트를 보다 체계적으로 관리할 수 있습니다.

보너스: 명령 프롬프트에 환경 이름 표시하기

마지막으로, 명령 프롬프트에 현재 활성화된 Python 환경의 이름을 표시하는 방법을 알아봅시다. 다음과 같은 형식으로 .bashrc 파일을 열고 다음 줄을 추가합니다:

Terminal window
export PS1='(`pyenv version-name`)$PS1'

이제 명령 프롬프트에 Python 환경의 이름이 표시됩니다.