건프의 소소한 개발이야기

[Linux - Ubuntu] Python 가상개발환경 만들기 (virtualenv 설치법) 본문

개발 이야기/Linux 이야기

[Linux - Ubuntu] Python 가상개발환경 만들기 (virtualenv 설치법)

건강한프로그래머 2016. 7. 3. 14:11

안녕하세요, 건프입니다.

이번에는 리눅스 환경에서 Python 의 각종 가상개발환경 (Virtual Environment) 을 구축하고 사용하는 법에 대해서 알아볼려고 합니다.


우선 가상개발환경이 왜 필요할까요?

Python 의 경우 정말 많은 모듈들이 존재하고, 이러한 모듈들을 이용해서 프로젝트를 구성하다보면, 모듈들이 사용하는 각종 환경과 다른 모듈들에 대한 의존성 (Dependency) 가 생깁니다.

이러면 하나의 서버에서 독립된 프로젝트에 대해 모듈을 다운받아 사용할때, 의존성 겹침 문제가 발생하게되면, 프로젝트 전체가 큰 혼란에 빠질 수 있습니다.

이럴때 필요한 것이 가상 개발 환경 입니다.


가상 개발 환경의 기본적인 사용법은

가상 개발 환경을 다운받고

환경을 활성화(Activate) 합니다.

환경을 활성화시킨뒤 그 위에서 모듈들을 다운받으면, 그 모듈들은 모두 가상환경 위에서만 동작하게 됩니다.

모든 작업이 끝나고는 환경을 비활성화(Deactivate) 합니다. 그러면 시스템 전체에 아무런 영향을 끼치지 않게 됩니다.


그럼 이제 가상환경을 만드는 과정에 대해서 설명하겠습니다.

작업 환경은 Linux 의 데비안 계열인 Ubuntu 이고, AWS(아마존 웹 서비스) 의 가상 호스팅 환경에서 시작했습니다.


python package manager : pip 를 다운받습니다.

> sudo apt-get update

> sudo apt-get install python-pip


pip 를 이용해서, 파이썬의 각종 모듈들과 라이브러리들을 다운받는데 큰 도움을 받을 수 있습니다.

> sudo apt-get install build-essential


각종 개발환경(gcc, g++) 등등을 구축해주는 과정입니다.

> sudo apt-get install virtualenv virtualenvwrapper


앞에서 다운받은 pip 로 파이썬 모듈중 virtualenv 와 

virtualenv 를 사용하는데 도움을 받을 수 있는 모듈 virtualenvwrapper 를 설치해줍니다.

> vi .bashrc


가상환경을 bash 환경에 추가시키기 위해서 홈 디렉토리에서 .bashrc 를 실행시키고

가장 아래로 가서 (fi 아래)

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualenvwrapper.sh

이 두줄을 추가해줍니다.

> source .bashrc

.bashrc 의 내용을 조금 바꿨으니, 재실행 하는 방법입니다.


> mkvirtualenv << virtualenv name >> 

가상환경을 만들때는 위와 같이 만들면 됩니다. 

저는 크롤링을 위한 가상환경을 만들꺼라서 이름을 crawl 로 했습니다.

콘솔을 보시면 오른쪽에 (crawl) 이라고 뜨면서 가상환경상태에 있다는 것을 알려줍니다 .

가상환경에서 나가는 명령어는 

deactivate

다시 가상환경에 들어가는 명령어는

workon << virtualenv name >>

입니다.

리눅스 계열에서 가상환경 만들고 virtualenvwrapper 모듈을 이용해서 사용하는 방법까지 알았습니다.

가상환경을 활성화 한 상태에서 패키지를 받을때는 sudo pip 로 하는 것이 아니라, 그냥 pip로 하셔야, 가상환경안에 모듈이 설치가 됩니다.


도움이 되었길 바랍니다.

고맙습니다 :)




Comments