PYENV로 파이썬 버전 관리하기

지난 글에서 내 컴퓨터에 버전별로 노드를 설치하고 사용하는 방법에 대해 정리해 봤다. 그럼 파이썬은 어떤 툴이 있을까? 가끔 파이썬으로 만든 개발툴을 사용하다보면 상위버전이 나오는데 파이썬 v3를 사용해야 하는 경우가 있다. 한번은 파이썬을 v2에서 v3로 업그레이드 한 뒤 다른 툴들이 동작하지 않은 경우가 있었는데 다시 파이썬 v2로 롤백하느라 진땀을 흘린 기억이 있었다.

파이썬에서도 pyenv라는 버전 관리 툴이 있어서 필요한 버전들을 내 컴퓨터에 설치하여 손쉽게 사용할 수 있는 방법이 있다.

설치

내 경우 맥을 사용하니깐 Homebrew를 이용해 간단히 pyenv를 설치할 수 있다.

$ brew update $ brew install pyenv

파이썬 설치

pyenv로 사용할수 있는 파이썬 버전도 상당히 많은데 대부분의 버전을 지원하는 것 같다.

$ pyenv install -list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
...

우선 파이선 v2 중에 최신버전인 v2.7.12 를 설치해 보자.

$ pyenv install 2.7.12

설치한 파이선 목록을 확인하면 이미 설치한 버전이 system으로 뜨고 방금 추가한 v2.7.12 버전을 확인할 수 있다.

$  pyenv versions
  system
* 2.7.12 (set by /Users/Chris/.pyenv/.python-version)

파이썬 버전을 확인해 보면 v.2.7.12 가 사용중임을 알 수 있다.

$ python -V
Python 2.7.12

이번에는 파이선 v3에서 최신버전인 v3.5.2를 설치해 보자.

$ pyenv install 3.5.2

빌드 실패 메세지까 뜨는데 예전에도 파이썬 v3로 업그레이드 하다가 부딪혔던 문제다.

BUILD FAILED (OS X 10.11.6 using python-build 20160726-7-g740fbe4)

여러가지 시도를 해보았고 이 글을 통해 해결할 수 있었다. 결국 xcode-select 를 이용해서 OSX 용 커맨드라인 툴을 설치해야 한다. 이 커맨트라인 툴을 이용해서 파이썬이 빌드를 하는 모양인데 그것이 없었기 때문에 파이썬 v2 빌드 실패가 발생한게 아닌가 싶다.

$ xcode-select --install

파이썬 버전 선택

pyenv를 통해 설치한 파이썬 버전을 선택하는 방법에는 두 가지 방법이 있다. 하나는 global 옵션을 주는 것인데 이것으로 버전을 선택하면 우리가 일반적으로 생각하는 방식으로 파이썬 버전을 변경한다.

$ pyenv global 3.5.2
$ exec zsh
$ python --version
Python 3.5.2

또 다른 방법은 local 옵션을 사용하는 것이다. 이 옵션으로 파이썬 버전을 선택하면 사용할 폴더별로 사용하는 파이썬 버전을 설정할 수 있다. 예를 들어 foo 폴더에서 local로 파이썬 버전을 v2.7.12로 설정하면 foo 폴더에서는 언제나 v2.7.12 버전의 파이썬을 사용한다.

$ cd foo
$ pyenv local 2.7.12
$ python -V
Python 2.7.12

한편 bar 폴더에서 확인해 보면 global로 설정한 파이썬 버전이 사용되고 있음을 확인할 수 있다.

$ cd ../bar
$ python -V
Python 3.5.2