Django Tools – virtualenv

Heute möchte ich eine kleine Serie von Artikeln starten in welchen ich nützliche Tipps und Tricks für die Arbeit mit Django vorstelle. Ich hoffe die Artikel können dem einen oder anderen weiterhelfen.

Wer schon einmal in einer Umgebung gearbeitet hat wo er mehrere Django Projekte parallel auf einem Server betreiben musste, der hat sich bestimmt schonmal gewünscht für die einzelnen Projekte je eine isolierte Django Umgebung zu verwenden. Dadurch wird verhindert beim updaten eines Projektes möglicherweise andere Projekte zu zerstören.
Auch gibt es Webserver wo es nicht möglich ist an den bestehenden Django Installationen etwas zu ändern.
Genau in solchen Fällen kommt der Einsatz von virtualenv zum Zuge.

Virtualenv (Virtual Python Environment builder)

Virtualenv ist ein Tool um isolierte Python Umgebungen zu erzeugen. Die Installation und Verwendung ist denkbar einfach.

Installation

Die Installation kann entweder über pip

$ pip install virtualenv

oder über easy_install erfolgen.

$ easy_install virtualenv

Virtualenv einrichten

Als erstes erstellen wir eine virtuelle Pythonumgebung im Homeverzeichnis.

$ virtualenv ~/v/
New python executable in /home/user/v/bin/python
Installing setuptools............done.
Installing pip...............done.

Dies erstellt eine neue Python Installation im Verzeichnis v, inklusive eigenen Setuptools. Wer lieber distribute als setuptools verwendet kann sich auch das distribute Paket anstelle der setuptools mitinstallieren:

$ virtualenv --distribute ~/v/

Wer die Pakete der globalen Python Installation übernehmen möchte kann dies auch tun.

$ virtualenv --system-site-packages ~/v/

Standardmässig nutzt virtualenv den Interpreter mit welchem es installiert wurde (/usr/bin/python). Wer eine spezifische Version von Python benötigt kann dies mit dem -p Parameter tun. Folgender Befehl beispielsweise verwendet Version 2.0 von Python.

$ virtualenv --python=python2.0

Virtualenv aktivieren

In jeder erstellten Umgebung wird auch ein Aktivierungsscript erstellt. Dieses ist ziemlich praktisch um in die virtuelle Umgebung zu wechseln, d.h. dass danach die dort zugehörigen Binaries verwendet werden (z.B. python, pip ..).
Das Aktivierungsskript muss mit source ausgeführt werden.

$ source ~/v/bin/activate

Nach Ausführung dieses Skripts wird die Verwendung der virtuellen Umgebung durch ein (v) vor der Kommandozeile indiziert. Um die Umgebung wieder zu verlassen genügt ein simpler deactivate Befehl.

$ deactivate

Weitere Infos

Für weitere Infos empfehle ich einen Blick in die offizielle Doku auf http://www.virtualenv.org/. Ebenfalls nützlich ist jeweils die Hilfe unter Linux

$ virtualenv --help

Dieser Beitrag basiert weitgehend auf der offiziellen Doku sowie auf einem Blogpost von SaltyCrane.

Leave a Reply