[Python-de] wie sucht Python die Module?

Werner Warweg werner at warweg.com
Die Apr 13 04:59:46 CEST 2004


Stefan Schwarzer schrieb:
> Frohe Ostern! :)
Dir auch!

> "Module" ist mir relativ klar, aber was meinst du zum Beispiel mit
> "Dateien etc."?
Ich leider noch unter Windows ;-)
Daher werden sicherlich noch DLLs gebraucht, wahrscheinlich auch
includes etc. benötigt

> Was heißt "Magic-Lines"? Meinst du "#! /pfad/zum/interpreter" in der
> ersten Zeile?
ja! in dem erwähnten Buch "Einsteigerseminar von Martin Uzak" nennt der
Autor die so.

> Davon abgesehen, kannst du mehrere Python-Versionen auf dem Rechner
> haben, sofern du sie in unterschiedlichen Verzeichnissen bzw.
> Verzeichnis-Bäumen installierst. Jedenfalls ist das kein Problem, wenn
> man Python selbst kompiliert und dabei auch den zukünftigen Pfad angibt.

compilieren kann ich leider nicht!

> In einem laufenden Python-Prozess werden zum Finden der Module die
> Verzeichnisse in sys.path abgesucht. Standardmäßig sind darin die
> Pfade enthalten, die die Standard-Bibliothek enthalten, die zum
> laufenden Binary gehört. 

unter Windows habe ich den Pfad in der Systemumgebung. Ist das wohl
identisch? Muß ich alle .py-Dateien, die verwendet werden, in das
Verzeichnis des aufrufenden Programms kopieren? Dann erhalte ich ja
einen ziemlichen "Overhead".
> 
> ['', '/usr/local/lib/python23.zip', '/usr/local/lib/python2.3', '/usr/local/lib/python2.3/plat-freebsd5', '/usr/local/lib/python2.3/lib-tk', '/usr/local/lib/python2.3/lib-dynload', '/usr/local/lib/python2.3/site-packages', '/usr/local/lib/python2.3/site-packages/Numeric', '/usr/local/lib/python2.3/site-packages/PIL', '/usr/local/lib/python2.3/site-packages/piddle']

Das funktioniert wohl nur unter Linux so.

  >>Um nicht alle Projekte wieder überarbeiten zu müssen, bietet es sich
an,
>>auch frühere Stände zu speichern.

> Was meinst du mit "frühere Stände"?

Python 2.2 und Python 2.3! Aber vielleicht hat sich die Frage schon
durch Deine Antwort erledigt, da Du sagst, dass Python immer komplett
aktuell gehalten wird. Mich machte nur der Hinweis bei wxPython
misstrauisch, dass neue Namenskonventionen eingearbeitet wären.

Mit freundlichem Gruß
Werner Warweg