[Python-de] PYTHONPATH und sys.path

Olе Streicher ole-usenet-spam at gmx.net
Mo Feb 6 10:51:11 CET 2012


Christian Heimes <lists at cheimes.de> writes:
> Deine Erfahrung widerspricht aber der Implementation, Designidee und
> auch der Realtität. Sorry, aber du liegst falsch. ;)

Eine der großen Werbeversprechen von Python ist, dass es sich so
verhält, wie man es gemeinhin auch erwartet. So richtig scheint das auf
diesen Punkt nicht zuzutreffen. Gewinnt man hier wirklich so viel, dass
man dieses Versprechen dafür aufgeben sollte?

> Wenn du die Implementation in Py_InitializeEx() verfolgst, wirst du
> feststellen, dass in Py_GetPath() die Umgebungsvariable PYTHONPATH vor
> initsite() ausgewertet wird. Das wurde gemacht, damit man eine eigene
> site.py bzw. sitecustomize.py über PYTHONPATH einfügen kann. Der Code in
> site.py parst alle *.pth Dateien in den site-packages und fügt diese
> *vorne* in sys.path ein.

So richtig leuchtet mir das aber nicht ein: abgesehen davon, dass eine
usereigene (über PYTHONPATH gefundene) site.py wohl seltener ist als
ein für eigene Erweiterungen gesetzter PYTHONPATH (und damit der
Pragmatismus von Python zuschlagen sollte), müsste doch PYTHONPATH
zumindest dann am Ende sitzen, wenn es keine usereigene site.py gibt. 

Viele Grüße

Ole




Mehr Informationen über die Mailingliste python-de