본문 바로가기

Develop

Python 가상 환경(virtualenv)이 필요한 이유

python virtualenv를 꼭 사용해야 할까요?

python 가상 환경 없이도 python 프로젝트를 진행할 수 있습니다. 패키지를 system 영역에 설치해도 전혀 문제없다고 말할 수 있습니다. 당장은.

 

이런 경우를 생각해 보겠습니다.

A 라는 프로젝트 진행을 하려고 합니다. 이를 위해 django==1.0.0 과 requests==0.5.0 를 사용했고 성공적으로 패포하여 유지보수 중입니다. 그리고 어느 정도 시간이 지나 B라는 프로젝트를 진행하려고 합니다. requests 패키지가 개선되어 지금은 requests==0.10.0 을 사용할 수 있게 되었습니다. 그래서 프로젝트 B에서는 requests==0.10.0 을 사용하려고 합니다.

pip install -U requests==0.10.0

 

성공적으로 개선된 버젼의 패키지를 설치를 했습니다. 즐겁게 프로젝트 B를 시작할 수 있게 되었는데, 프로젝트 A 가 평소와 달리 정상적으로 실행이 되지 않습니다. 관련 문서를 참조하니 django==1.0.0과 requests==0.10.0은 서로 호환이 되지 않는다고 하네요.

A 프로젝트의 경우 requests==0.5.0, B 프로젝트의 경우 requests==0.10.0 가 필요한 상황이 되었습니다.

 

여러 상황중에 하나가 되겠지만, 이와 같이 두 개 이상의 프로젝트를 동시에 진행하고자 한다면 system 영역에서 패키지를 관리하기보다는 분리된 가상 환경을 만들어서 서로 독립된 공간에서 패키지를 설치하는 것이 유지/관리에 유리합니다.

반응형