たまに少数のプロジェクトしかない場合でも、プロジェクトごとに新しい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
>>>
もう少し整理する場合は、すべてのvirtualenvを1つのフォルダーに入れて、作業中のプロジェクトにちなんでそれぞれに名前を付けることを検討してください。
/virtualenvs
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/foobar
/mypackage1
__init__.py
/mypackage2
__init__.py
このようにすると、問題が発生したときにいつでも新しいvirtualenvからやり直すことができ、プロジェクトファイルの安全性が維持されます。
もう1つの利点は、いくつかのプロジェクトで同じ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」で作業するとき、virtualenvがどこにあるかを心配する必要はありません。
/foo
/mypackage1
__init__.py
/bar
/mypackage2
__init__.py
これが、プロジェクト「foo」での作業を開始する方法です。
$ cd foo
$ workon
bar
foo
$ workon foo
(foo)$ python
>>> import mypackage1
>>>
次に、プロジェクト「bar」への切り替えは次のように簡単です。
$ cd ../bar
$ workon bar
(bar)$ python
>>> import mypackage2
>>>
かなりすっきりしていますね。