Wenn Sie nur ab und zu nur wenige Projekte haben, hindert Sie nichts daran, für jedes eine neue virtuelle Umgebung zu erstellen und Ihre Pakete direkt darin abzulegen:
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/mypackage1
__init__.py
/mypackage2
__init__.py
Der Vorteil dieses Ansatzes besteht darin, dass Sie immer sicher sein können, das Aktivierungsskript zu finden, das zum darin enthaltenen Projekt gehört.
$ cd /foobar
$ source bin/activate
$ python
>>> import mypackage1
>>>
Wenn Sie sich für eine etwas bessere Organisation entscheiden, sollten Sie in Betracht ziehen, alle Ihre virtuellen Umgebungen in einem Ordner abzulegen und sie nach dem Projekt zu benennen, an dem Sie arbeiten.
/virtualenvs
/foobar
/bin
{activate, activate.py, easy_install, python}
/include
{python2.6/...}
/lib
{python2.6/...}
/foobar
/mypackage1
__init__.py
/mypackage2
__init__.py
Auf diese Weise können Sie immer mit einer neuen virtuellen Umgebung beginnen, wenn etwas schief geht, und Ihre Projektdateien bleiben sicher.
Ein weiterer Vorteil ist, dass mehrere Ihrer Projekte dieselbe virtuelle Umgebung verwenden können, sodass Sie nicht immer wieder dieselbe Installation durchführen müssen, wenn Sie viele Abhängigkeiten haben.
$ cd /foobar
$ source ../virtualenvs/foobar/bin/activate
$ python
>>> import mypackage2
>>>
Für Benutzer, die regelmäßig virtuelle Umgebungen einrichten und abbauen müssen, ist es sinnvoll, sich virtualenvwrapper anzusehen.
http://pypi.python.org/pypi/virtualenvwrapper
Mit virtualenvwrapper können Sie
* create and delete virtual environments
* organize virtual environments in a central place
* easily switch between environments
Sie müssen sich keine Gedanken mehr darüber machen, wo sich Ihre virtuellen Umgebungen befinden, wenn Sie an den Projekten "foo" und "bar" arbeiten:
/foo
/mypackage1
__init__.py
/bar
/mypackage2
__init__.py
So fangen Sie an, am Projekt "foo" zu arbeiten:
$ cd foo
$ workon
bar
foo
$ workon foo
(foo)$ python
>>> import mypackage1
>>>
Dann ist das Umschalten auf Projekt "Leiste" so einfach:
$ cd ../bar
$ workon bar
(bar)$ python
>>> import mypackage2
>>>
Ziemlich ordentlich, nicht wahr?