[IronPython] Using python docutils from C# - difference between shell and embedded engine?

Cesar Koers ckoers at fulladsl.be
Tue Mar 13 11:13:07 CET 2007


Hi all,

I could use some help with embedding Python docutils 
(http://docutils.sourceforge.net/) with C#. At this point, I'm able to 
use the 'docutils.core.publish_string' function from the ipy.exe shell 
with decent output.

However, when embedding the PythonEngine in my C# app, and executing 
'docutils.core.publish_string' with the exact same arguments (*), 
execution stops at a "raise TypeError" in Python code (in Debug mode, in 
Release mode I believe it doesn't return from the Python code at all). 
Repeatedly stepping out of the Python code (10-15 times) with the 
debugger finishes the program.

VS shows that the TypeError is caused by indexing a null array (named 
'children'). When examining the call stack though, I understood that the 
program shouldn't even reach this code because it first checks the value 
of 'len(children)' before accessing 'children'.


Could there be a problem with environment settings or something? I 
compared path and loaded modules between ipy.exe session and embedded 
engine; there are some differences which i can't explain.


Best regards,

C

(*) note that importing docutils.core requires executing 
PythonEngine.InitializeModules first and 
PythonEngine.Import("docutils.core") is not a substitute for 
PythonEngine.Execute("import docutils.core")



PS: using "IronPython Community Edition r5" and VS Express 2005



More information about the Ironpython-users mailing list