[Python-de] Probleme mit execfile() und import's...
Peter Otten
__peter__ at web.de
Don Sep 15 08:57:13 CEST 2005
Am Mittwoch, 14. September 2005 18:53 schrieb jens diemer:
> Diez B. Roggisch schrieb:
>> Ehrlich gesagt habe ich das Gefuehl das du dich da verrennst. Warum denn
>> dieser reload/exec Quasch? Wir reden hier ueber CGI-Skripte, nicht nen
>> j2ee-Appserver der >5min zum neustart braucht. Also einfach Ctrl-C, und
>> neu starten. Kostet 5s, und funzt.
>
> Da hast du eigentlich recht, aber es ist als "Entwicklungsumgebung" für
> PyLucid ( http://www.pylucid.org ) gedacht.
> Genauer gesagt ist es für die Standalone-Version gedacht:
> http://www.pylucid.org/index.py?p=/Doku/PyLucid%20Standalone
>
> Dabei werkelt man nicht an der Hauptdatei (index.py) sondern an
> irgendwelchen zusätzlichen Modulen...
>
> Das ist recht nervig, wenn man immer wieder den Server neustarten muß,
> wenn man was geändert hat. Vor allem, wenn man an den Neustart nicht
> gedacht hat, kommt es zu scheinbar merkwürdigen Effekten :(
>
> Ganz nebenbei würde man die Funktionalität vom CGIServer stark
> erweitern, wenn subprocess genommen wird, denn so erhält man theoretisch
> auch die Möglichkeit andere CGI-Skripte (außer Python) auszuführen. Was
> mich aber weniger interessiert ;)
Welches Betriebssystem verwendest Du? Das CGIHTTPServer-Modul von Python 2.4
verwendet execfile() nur im Notfall, wenn weder os.fork() noch
os.popen2()/os.popen3() vorhanden sind.
Damit sollten unter Linux und Windows beliebige CGI-Skripte laufen und
Änderungen sofort sichtbar sein. Mac wird im Quelltext als Fall für
execfile() genannt, aber ich vermute, dass die älteren nicht BSD-basierten
Varianten gemeint sind.
Peter
PS: Habe unter Linux mit einem Perl-Skript erfolgreich getestet.