[Python-de] Probleme mit execfile() und import's...

jens diemer python-de-mailinglist at jensdiemer.de
Don Sep 15 09:25:03 CEST 2005


Peter Otten schrieb:
> 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.

Danke für den Hinweis. Das ist auch die Lösung für mein Problem:

Und zwar ist es so, das ich den Server vorher in einem anderen Projekt 
benutzt hab. Da war es wichtig, das CGI-Skripte mit dem User ausgeführt 
werden, mit dem der Server gestartet ist.
Das ist unter Linux nicht so, da Linux fork bzw. os.setuid() 
unterstützt. In dem Fall werden Skripte als User nobody ausgeführt. Das 
kann man in CGIHTTPServer.py in Zeile 204 bzw. 225 sehen.
Deswegen hatte ich im RequestHandler meines Servers diese drei Zeilen drin:
"""
     have_fork = False
     have_popen2 = False
     have_popen3 = False
"""

Das bedeutet aber auch, das die Skripte immer mit execfile() aufgeführt 
werden, was eigentlich nur eine Notlösung ist.

Lange Rede kurzer Sinn... Durch das löschen der drei have_*-Zeilen, hat 
sich mein Problem in Luft aufgelöst.

Sorry, war mein Fehler...


-- 
Mfg.

Jens Diemer


----
http://www.jensdiemer.de