Ubuntu 10.04 „Lucid Lynx“
virtualenv ist die Kurzform für „Virtual Environment“ und dient zum Einrichten von ein oder mehreren unabhängigen Python-Umgebungen.
Standardmäßig werden alle Python-Module - egal ob über die Paketverwaltung oder den Python Package Index installiert, in die allgemeine Systemumgebung installiert. Aus Kompatibilitätsgründen oder zu Testzwecken möchte man aber eventuell ältere oder neuere Module installieren, ohne die „Standardinstallation“ zu gefährden. Hier kommt virtualenv ins Spiel, welches voneinander isolierte Python-Umgebungen erzeugt.
virtualenv ist über das Paket
python-virtualenv
mit apturl
Paketliste zum Kopieren:
sudo apt-get install python-virtualenv
sudo aptitude install python-virtualenv
aus den Paketquellen installierbar[1].
Die neuste Version lässt sich über den Python Package Index und den Befehl[2]
sudo easy_install virtualenv
installieren. Um easy_install zu nutzen muss das Paket
python-setuptools
installiert sein.
Die Benutzung von virtualenv läuft über die beiden Kommandozeilen-Befehle virtualenv
und source
, wie im folgenden Beispiel gezeigt wird.
Mit dem Aufruf
virtualenv /home/BENUTZER/python-test
würde im Homeverzeichnis von BENUTZER
eine neue virtuelle Python-Umgebung namens python-test
angelegt. Der Name der Testumgebung und auch der Pfad sind wählbar, als Pfad bietet sich aber eigentlich immer das Homeverzeichnis an. Während der Installation wird automatisch der aktuell im System installierte Python-Interpreter, alle Python-Module aus /usr/local/lib/pythonVERSION/dist-packages/ sowie die python-setuptools
installiert. Dieses Verhalten lässt sich durch eine der folgenden Optionen beeinflussen:
Optionen von virtualenv | |
Option | Beschreibung |
-p PYTHON-VERSION | hiermit lässt sich eine andere (installierte) Python-Version in die virtuelle Umgebung installieren als der Standard |
--no-site-packages | Normalerweise hat man auch unter der virtuellen Umgebung auf die zusätzlich installierten Module Zugriff. Dies wird mit dieser Option unterbunden. Man hat also eine „nackte“ Python-Installation. |
Hat man ein virtuelle Umgebung angelegt, muss man diese noch aktivieren. Für das obige Beispiel lautet der Befehl:
source /home/BENUTZER/python-test/bin/activate
Darauf hin ändert sich das Shell-Prompt, es ist ein (python-test)
vorangestellt. Dies hat für das normale Arbeiten in der Shell keinerlei Einfluss, allerdings startet der Aufruf von python
jetzt das Python aus der virtuellen Umgebung, nicht die global installierte Version.
Um die virtuelle Umgebung zu verlassen beendet man den Terminal mit exit
.
Eine Deinstallation im eigentlichen Sinne ist nicht notwendig, es reicht das für die virtuelle Umgebung angelegt Verzeichnisse inklusive Unterverzeichnissen zu löschen.