[Python-de] PYTHONPATH und sys.path

Christian Heimes lists at cheimes.de
Do Feb 2 21:34:25 CET 2012


Am 02.02.2012 20:50, schrieb Olе Streicher:
> Was ist der Grund für diese Reihenfolge?

Weil es sonst ein Henne-Ei-Problem gibt. Zuerst werden die grundlegenden
Suchpfade bestimmt, darunter fällt auch PYTHONPATH. Erst danach kann das
Module "site" importiert werden, dass dann wiederum die .pth Dateien
parst und weitere Suchpfade hinzufügt.

PySys_SetPath(Py_GetPath()) kommt in Py_InitializeEx() vor initsite().

> Wenn es Standard ist, warum ist es dann nicht mit bei Python dabei?
> Zumindest bei meiner Suche in der Python 2.7.2-Doku kommt
> 
> "Your search did not match any documents. Please make sure that all
> words are spelled correctly and that you've selected enough categories."
> 
> Batteries included?

Es dauert eine Weile, bis ein Modul oder andere Erweiterung in den Kern
aufgenommen wird, teilweise mehrere Jahre. Für meinen PEP 370 habe ich
einige Monate Zeit investieren müssen, obwohl die Implementation gerade
mal einen Nachmittag gedacht hat.

Es werden nur Erweiterungen übernommen, die stabil, ausgereift und
verbreitet sind und deren Entwicklung abgeschlossen ist. Sobald einer
Erweiterung einmal im Kern ist, verlangsamt sich die Releasezyklen, weil
sie dann an den Zyklus von Python gebunden sind.

Etwas ähnliches wie virtualenv wird es vorrausichtlich in Python 3.3
geben, siehe http://www.python.org/dev/peps/pep-0405/

Christian



Mehr Informationen über die Mailingliste python-de