Dominique.Holzwarth at ch.delarue.com
Dominique.Holzwarth at ch.delarue.com
Fri Mar 28 03:28:26 EDT 2008
Hi Graham The following is the complete code of the 2 files. WebGUI.py ******************************************************************************** from mod_python import apache webEdit = apache.import_module("~/test/GUI/Edit/webEdit.py") WebGUIMessage = "Hello from WebGUI.py" class WebGUI: def __init__(self): attribute = 0 def index(req): myClassObject = webEdit.WebEdit() return myClassObject.myAttribute ******************************************************************************** webEdit.py ******************************************************************************** from mod_python import apache webGUI = apache.import_module("~/test/GUI/WebGUI.py") class WebEdit(webGUI.WebGUI): def __init__(self): self.myAttribute = 1 def index(req): return webGUI.__dict__ ******************************************************************************** The (more or less complete) error page looks like this: URI: '/python/test/GUI/WebGUI.py' Location: None Directory: 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/python/' Filename: 'C:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\python\\test\\GUI\\WebGUI.py' PathInfo: '' Phase: 'PythonHandler' Handler: 'mod_python.publisher' Traceback (most recent call last): File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch default=default_handler, arg=req, silent=hlist.silent) File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 1229, in _process_target result = _execute_target(config, req, object, arg) File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 1128, in _execute_target result = object(arg) File "C:\Program Files\Python25\Lib\site-packages\mod_python\publisher.py", line 204, in handler module = page_cache[req] File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 1059, in __getitem__ return import_module(req.filename) File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 296, in import_module log, import_path) File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 680, in import_module execfile(file, module.__dict__) File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\python\test\GUI\WebGUI.py", line 6, in <module> webEdit = apache.import_module("~/test/GUI/Edit/webEdit.py") File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 296, in import_module log, import_path) File "C:\Program Files\Python25\Lib\site-packages\mod_python\importer.py", line 680, in import_module execfile(file, module.__dict__) File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\python\test\GUI\Edit\webEdit.py", line 4, in <module> class WebEdit(webGUI.WebGUI): AttributeError: 'module' object has no attribute 'WebGUI' If I omit the 'webEdit = apache.import_module("~/test/GUI/Edit/webEdit.py")' inside 'WebGUI.py' as you mentioned I get a: File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\python\test\GUI\WebGUI.py", line 19, in index myClassObject = webEdit.WebEdit() NameError: global name 'webEdit' is not defined Error... And if I omit the 'webGUI = apache.import_module("~/test/GUI/WebGUI.py")' inside 'webEdit.py' I get: File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\python\test\GUI\Edit\webEdit.py", line 4, in <module> class WebEdit(webGUI.WebGUI): NameError: name 'webGUI' is not defined So that's why I thought I need to have both import statements... -----Original Message----- From: Graham Dumpleton [mailto:graham.dumpleton at gmail.com] Sent: Donnerstag, 27. März 2008 20:52 To: Holzwarth, Dominique (Berne Bauhaus) Cc: mod_python at modpython.org Subject: Re: [mod_python] Module importing and classes Does webGUI.py try and import webEdit and thus you have a circular import? With PythonDebug On in configuration, what is the import dependency graph information that is included in HTTP error page response after the trace back information? Graham
|