PYTHONPATH und sys.path

Hallo Gruppe, Wenn ich folgendes Miniprogramm ausführe: ----------8<------ import sys for p in sys.path: print p ----------8<------ ergibt sich mit PYTHONPATH=/home/ole/some/where python ppath.py folgendes: ------------------------8<---------------------------------------------- /home/ole/pythonsrc/ /usr/lib64/python2.6/site-packages/urwid-0.9.9.1-py2.6-linux-x86_64.egg [...] /home/ole/some/where /usr/lib64/python26.zip [...] ------------------------8<---------------------------------------------- d.h. mein vorgegebener PYTHONPATH ist nicht am Anfang, sondern dort sind diverse site-packages. Das Verzeichnis, welches ppath.py enthält, ist allerdings ganz am Anfang. Wie bekomme ich meine eigenen Pakete vor die Site-Packages? Ole

Hallo Ole. Olе Streicher schrieb:
d.h. mein vorgegebener PYTHONPATH ist nicht am Anfang, sondern dort sind diverse site-packages. Das Verzeichnis, welches ppath.py enthält, ist allerdings ganz am Anfang.
Wie bekomme ich meine eigenen Pakete vor die Site-Packages? Das geht zum Beipspiel mit folgendem Code:
ALLDIRS = ['usr/local/pythonenv/PYLONS-1/lib/python2.5/site-packages'] import sys import site # Remember original sys.path. prev_sys_path = list(sys.path) # Add each new site-packages directory. for directory in ALLDIRS: site.addsitedir(directory) # Reorder sys.path so new directories at the front. new_sys_path = [] for item in list(sys.path): if item not in prev_sys_path: new_sys_path.append(item) sys.path.remove(item) sys.path[:0] = new_sys_path Quelle: http://code.google.com/p/modwsgi/wiki/VirtualEnvironments#Application_Enviro... Viele Grüße Markus

On 02.02.2012 10:45, Olе Streicher wrote:
Wie bekomme ich meine eigenen Pakete vor die Site-Packages?
Wozu? Wenn du verschiedene Versionen der gleichen Packages hast, die miteinander in Konflikt geraten, verwende virtualenv. Und virtualenvwrapper erleichtert den Umgang damit nochmal erheblich. Chris
participants (3)
-
Christopher Arndt
-
Markus Zapke-Gründemann
-
ole-usenet-spam@gmx.net