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 영역에서 패키지를 관리하기보다는 분리된 가상 환경을 만들어서 서로 독립된 공간에서 패키지를 설치하는 것이 유지/관리에 유리합니다.
반응형