Si vous n'avez que quelques projets de chaque tellement souvent, rien ne vous empêche de créer un nouveau virtualenv pour chacun d'eux, et de mettre vos paquets à l'intérieur:
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/mypackage1
__init__.py
/mypackage2
__init__.py
L'avantage de cette approche est que vous pouvez toujours être sûr de trouver des trouver des les activer script qui appartient à la projet à l'intérieur.
$ cd /foobar
$ source bin/activate
$ python
>>> import mypackage1
>>>
Si vous décidez d'être un peu plus organisé, vous devriez envisager de mettre tous vos virtualenvs dans un dossier, et le nom de chacun d'eux après le projet sur lequel vous travaillez.
/virtualenvs
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/foobar
/mypackage1
__init__.py
/mypackage2
__init__.py
De cette façon, vous pouvez toujours recommencer avec une nouvelle virtualenv quand les choses vont mal, et vos fichiers de projet à rester en sécurité.
Un autre avantage est que plusieurs de vos projets peuvent utiliser le même virtualenv, de sorte que vous n'avez pas à faire la même installation de plus de et plus si vous avez beaucoup de dépendances.
$ cd /foobar
$ source ../virtualenvs/foobar/bin/activate
$ python
>>> import mypackage2
>>>
Pour les utilisateurs qui ont régulièrement à installer et à démonter virtualenvs il serait judicieux de regarder à virtualenvwrapper.
http://pypi.python.org/pypi/virtualenvwrapper
Avec virtualenvwrapper vous pouvez
* create and delete virtual environments
* organize virtual environments in a central place
* easily switch between environments
Vous ne plus avoir à vous soucier de l'endroit où votre virtualenvs sont lorsque vous travaillez sur des projets "foo" et "bar":
/foo
/mypackage1
__init__.py
/bar
/mypackage2
__init__.py
C'est ainsi que vous commencez à travailler sur le projet "foo":
$ cd foo
$ workon
bar
foo
$ workon foo
(foo)$ python
>>> import mypackage1
>>>
Puis en passant au projet "bar" est aussi simple que cela:
$ cd ../bar
$ workon bar
(bar)$ python
>>> import mypackage2
>>>
Plutôt intéressant, n'est-ce pas?