본문 바로가기
Programming/python

[Python] Virtualenv

by 유주원 2013. 8. 2.

Python에는 Virtualenv라는 것이 있다.

virtualenv???

말 그대로 가상 환경이라는 것이다.

대개 서버에서 python 작업을 하다보면 서버에 깔린 패키지가 version이 다른 경우도 있고,

새롭게 어떤 package를 깔려고 하면 서버 관리자의 허락도 받아야 하고.. 여간 불편하지 않을 수 없다.

그래서 나온게 바로 virtualenv!!

서버 내에서 python 자신만의 package 공간을 마련해 주는 것이다.

서버에 최신 버전의 mysql이 깔려 있더라도 virtualenv를 통해 이전 버전의 mysql을 깔고 구동시킬 수가 있다.

소개는 이 정도까지만 하고.. 그럼 이제 설치 하는 방법에 대해 살펴보자.


우선 내가 가진 환경이 우분투 12.04라서 12.04를 기준으로 설치 방법을 기술하겠다.

>> sudo apt-get install python-setuptools            # easy_install 이라는 패키지 관리툴을 사용하기 위해 설치

>> sudo easy_install pip                                    # pip 패키지 관리툴을 설치.

>> sudo pip install virtualenv                              # virtualenv 설치


물론 위와 같이 easy_install, pip 등의 패키지 관리툴을 여러 개 설치하지 않고 apt-get 툴만 이용해서 설치하는 것도 바람직하다.

>> sudo apt-get install python-virtualenv             # apt-get 툴을 이용하여 virtualenv 설치


Virtualenv가 설치되었다면 이제 자신만의 환경을 만들도록 한다.

>> virtualenv --no-site-packages --distribute test1               

 # test1 내에 나만의 가상 공간을 만들었다. 

 # --no-site-packages : 기본으로 설치된 파이썬 환경을 이용하지 않겠다.


가상 공간 환경으로 들어가기 위해서는 자신이 만든 가상 공간 폴더 내에 activate를 실행하면 된다.

>> source test1/bin/activate

(test1)>>


위와 같은 명령을 치면 프롬프트가 (test1)>> 로 변경되며, 현재 test1이라는 가상 환경에서 작업하고 있다는 것을 나타내 준다.

가상 환경을 빠져나오고 싶다면 deactivate 명령을 치면 된다.

(test1)>> deactivate

>>


프롬프트가 다시 원래의 프롬프트로 돌아온 것을 볼 수 있다.

가상 환경 내에서 pip 명령을 통해(만약 pip를 설치했다면) 패키지를 설치할 수 있다. 물론 이렇게 설치된 패키지는 가상환경에 진입해야

사용이 가능하다.

(test1)>> pip install tendo


pip 명령을 통해 특정 버전의 패키지를 설치하는 것도 가능하다.

(test1)>> pip install tendo=0.2.3