Seite 1 von 1

virtualenv

Verfasst: Sonntag 10. August 2008, 09:45
von Crazed
Hallo,
Ich habe schön öfter über das Python Modul virtualenv gelesen. Meinem Verständnis nach ist es dafür da um ein abgeschottetes site-packages verzeichnis zu haben in dem man seine Scripte laufen kann. Der Haupt-Sinn darin besteht Konflikte mit unterschiedlichen Versionen von Modulen zu vermeiden.

Meine Fragen:

Wer benutzt es?
Warum benutzt ihr es?
Wo legt es diesen neuen site-packages Pfad ab?

und...

Kann man es nicht auch gut irgendwie als Installationsroutine für Python Programme benutzen? Ich meine ich hätte sowas gelesen?

CracKPod

Verfasst: Sonntag 10. August 2008, 10:14
von sma
Ich finde virtualenv vom Prinzip her interessant, kann aber noch keinen Erfahrungsbericht geben, weil ich das noch kaum nutze. Warum interessant, sollte eigentlich klar sein. Ein zentrales Mischmasch an notwendigen thirdparty-Abhängigkeiten finde ich furchtbar.

Wenn Du `virtualenv HERE` aufrufst, um ein Verzeichnis `HERE` als Wurzelverzeichnis für deine Umgebung anzulegen, findest du `site-packages` unter `HERE/lib/python-2.5` - vorausgesetzt du hast ein unix-artiges OS und nicht Windows.

Stefan

Verfasst: Sonntag 10. August 2008, 18:38
von Crazed
Heh?

Du meinst ernsthaft direkt im Root Verzeichnis?

/HIER/lib/ ?

Verfasst: Montag 11. August 2008, 13:06
von Leonidas
Crazed hat geschrieben:Du meinst ernsthaft direkt im Root Verzeichnis?

/HIER/lib/ ?
Nein, sma hat vor HERE keinen Slash gesetzt, also bezieht es sich auf den aktuellen Ordner.

Verfasst: Mittwoch 13. August 2008, 12:16
von Y0Gi
Gehört habe ich von `workingenv` und `virtualenv` schon vor langer Zeit, doch vermutlich habe ich es mit Movable Python gedanklich in einen Topf geworfen und war von der kommerziellen Natur von Letzterem abgeschreckt.

Erst durch Armins Post habe ich mich näher damit beschäftigt, es kurz als "nett" abgetan und dann ein einem (dem selben) Nachmittag auf meinem Server ein halbes Dutzend virtuelle Umgebungen für meine Webapps angelegt. Das ist wirklich Easy Going, solange man sich darüber im Klaren ist, welche Applikation welche Abhängigkeiten hat. Mein Hauptverwendungszweck von `setup.py`-Scripts besteht übrigens darin, die Abhängigkeiten und deren Versionen zu dokumentieren; den Rest macht `grep` ;)