자주 프로젝트가 몇 개만있는 경우 각 프로젝트에 대해 새 virtualenv를 만들고 패키지를 바로 안에 넣는 것을 막을 수는 없습니다.
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/mypackage1
__init__.py
/mypackage2
__init__.py
이 접근 방식의 장점은 항상 내부 프로젝트에 속하는 활성화 스크립트를 찾을 수 있다는 것입니다.
$ cd /foobar
$ source bin/activate
$ python
>>> import mypackage1
>>>
좀 더 체계화하기로 결정했다면 모든 가상 환경을 하나의 폴더에 넣고 작업중인 프로젝트의 이름을 따서 각각의 이름을 지정해야합니다.
/virtualenvs
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/foobar
/mypackage1
__init__.py
/mypackage2
__init__.py
이렇게하면 문제가 발생할 때 항상 새로운 virtualenv로 다시 시작할 수 있으며 프로젝트 파일은 안전하게 유지됩니다.
또 다른 장점은 여러 프로젝트에서 동일한 virtualenv를 사용할 수 있으므로 종속성이 많은 경우 동일한 설치를 반복 할 필요가 없다는 것입니다.
$ cd /foobar
$ source ../virtualenvs/foobar/bin/activate
$ python
>>> import mypackage2
>>>
정기적으로 virtualenv를 설정하고 해체해야하는 사용자에게는 virtualenvwrapper를 살펴 보는 것이 좋습니다.
http://pypi.python.org/pypi/virtualenvwrapper
virtualenvwrapper를 사용하면 다음을 수행 할 수 있습니다.
* create and delete virtual environments
* organize virtual environments in a central place
* easily switch between environments
"foo"및 "bar"프로젝트에서 작업 할 때 가상 환경이 어디에 있는지 더 이상 걱정할 필요가 없습니다.
/foo
/mypackage1
__init__.py
/bar
/mypackage2
__init__.py
다음은 "foo"프로젝트 작업을 시작하는 방법입니다.
$ cd foo
$ workon
bar
foo
$ workon foo
(foo)$ python
>>> import mypackage1
>>>
그런 다음 프로젝트 "바"로 전환하는 것은 다음과 같이 간단합니다.
$ cd ../bar
$ workon bar
(bar)$ python
>>> import mypackage2
>>>
꽤 깔끔하지 않나요?