본문 바로가기
Programming/python

[Python] pyenv 설치하기

by 유주원 2015. 3. 17.

Virtualenv를 잘 사용하고 있었는데, 어제 스터디를 갔다가 발표자 분께서 pyenv를 사용하고 계신 것을 우연히

보게 되었다.


pyenv 모지???


찾아보니, virtualenv가 python의 패키지 설치 등에 대해 가상환경을 제공하는 것이라면, pyenv는 다양한 python 버전 별로

실행해 볼 수 있는 환경을 제공한다고 한다.


기존 virtualenv를 pip freeze 한 후 과감히 삭제..

이제 pyenv를 깔아보자.


pyenv를 apt-get이나 pip로는 받을 수 없고 git을 통해 받아야 하는 것 같다.


$> sudo apt-get install curl git-core


github에 있는 pyenv-installer를 받아서 실행시킨다. (반드시 root 권한에서 실행하자!)


$> curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash


그런데 설치를 하다보면 기분 찝찝한 warning 메시지 하나가 눈에 들어온다.



아마 pyenv path를 안잡아줬다고 warning을 띄우는 것 같다. 어서 path를 잡아주자..

path는 shell이 실행될 때마다 자동으로 잡을 수 있도록 홈디렉토리의 .bashrc 파일을 수정하자.

.bashrc 파일에 아래의 구문을 추가한다.



이제 shell을 종료한 후 다시 접속해서..(.bashrc 가 다시 로딩되야 하기 때문에) pyenv가 최신 버전인지 update를 실행한다.


$> pyenv update


update까지 완료되었으면 이제 각각 버전에 맞는 python을 설치해보자.

참고로 내가 깔고자하는 python 버전을 pyenv가 지원하는지를 확인하기 위해서는 list라는 명령어를 써주면 된다.


$> pyenv install --list 


내가 주로 사용하는 버전은 2.7.6이기 때문에 2.7.6과 3.4.3 버전 이렇게 두 개를 설치해볼 예정이다.

아래와 같이 명령어를 입력하자.


$> pyenv install 2.7.6 


어라.... warning과 error로 인해 설치 실패가 발생했다. -_-;;





아마도 2.7.6을 설치하기 위해서는 위에 언급된 라이브러리들이 필요한 것 같다.

2.7 버전과 3.4 버전에 필요한 dependency를 추가로 설치하자.


$> sudo apt-get build-dep python2.7 python3.4 


이제 다시 설치해보면 정상적으로 설치된 것을 확인할 수 있다. 2.7.6에 이어 3.4.3도 설치해 보자..


$> pyenv install 3.4.3 


설치가 끝난 후에는 아래와 같이 명령어를 실행하여 python 버전 별로 바꿔줄 수 있다.


$> pyenv shell 2.7.6


이제 pyenv로 인해 python을 버전별로 다양하게 사용할 수 있게 되었다. 이제는 python환경을 각각에 특성에 맞게 개별적으로

사용하기 위해 virtualenv를 사용해보자. 사용법은 간단하다.

가상환경을 만들어주기 위해서 아래와 같이 입력한다.


$> pyenv virtualenv 2.7.6 [가상환경이름] 


위와 같이 입력하면 2.7.6 버전에 해당하는 가상환경이 생성되었다.

이렇게 생성된 가상환경에 대한 사용법은 기존 virtualenv와 동일하다. activate를 통해 가상환경으로 들어가고 deactivate로 빠져

나올 수가 있다.


$> pyenv activate [가상환경이름]

([가상환경이름]$> deactivate

$>


가상환경의 경로는 /home/.pyenv/versions에 저장이 된다.

현재 설치되어 있는 가상환경 목록을 알아보기 위해서는 pyenv virtualenvs 라고 입력하면 현재 설치되어 있는 가상환경

목록을 알 수가 있다.