본문 바로가기

Programming/Python & Django

Python virtualenv 사용법(MAC기준,pip사용)

출처 : http://hackersstudy.tistory.com/43

 

학생때나 초보때는 실제로 root나 시스템에 기본으로 있는 하나의 컴파일러환경에서 개발하는 경우가 많다

virtualenv를 사용해야하는 이유부터 설명하고 난뒤에 virtualenv를 세팅하는 방법 및 python을 세팅하는법에 대해서 설명을 하도록 하겠다


virtualenv를 사용해야하는이유 :

프로그래머가 개발하는 환경 != 프로그램이 실행될 환경 

이경우에 우리는 결국에 다만들어놓고 디버깅끝낸 이후에 프로그램이 돌아갈 대상환경에서 다시한번 디버깅을 해야하는 일을 만들어낸다 

또한 

개발환경에서 프로젝트별 독립된 개발환경을 제공해줘야 각각의 프로젝트의 환경변수들이 꼬이는 일이 발생하지않는다.
실제로 사용할 프레임워크의 버전충돌을 피할수 있기 때문이다

위의 문제점을 보완할수 있는 방법으로 virtualenv를 사용하여 개발환경에 맞추것이 중요하다.

virtualenv : 개발환경에서 독립된 개발환경을 제공해주는 프로그램



실제로 여러개의 env(환경변수)를 만들어서 각각의 app이라던지 프로그램의 개발환경의 라이브러리파일을 설정해주서 프로그램의 실행환경과 유사하도록 세팅해주어 디펜던시 문제를 해결할수 있다.


아래 그림은 pip install을 통하여 virtualenv를 설치하는 과정이다





설치가 완료된다음에는 virtualenv를 사용해보도록하자


virtualenv라는 명령어가 새로 생겼기때문에 해당 명령어를 바탕으로 만들고자하는 프로젝트명을 설정해주면된다.


 


해당프로젝트명으로 환경변수가 설정이 되도록한다.



source명령어를 통하여 activate파일을 실행해주면 

(test_env)라는 아까 만들었던 프로젝트명이 쉘앞에 생기게 되는게 이때 환경변수가 활성화된상태라고 보면된다.



활성화된 환경변수에서 원래대로 돌아오고자 한다면



deactivate를 사용해주면된다.







개발환경세팅시에 


[test_env,프로젝트명]/bin/activate 파일 안에 deactivate와 activate에 관련하여 환경변수들을 세팅해서 사용해주면된다.



activate 후에 python 패키지들을 세팅해서 개발해준다면 각기 다른 개발환경을 만들어줄수있다