I've written my own python modules with the C API, called dlfl. I've now embedded a python interpreter into my Qt application. I am able to execute multiline/singleline blocks and it has no problems remembering definitions from one execute to the next. The problem arises when i try and use a dlfl method inside a def block. For example
def x( ): print faces(0) faces is a method in dlfl. If I were to just type "print faces(0)" it would execute fine. However, this way when I type "x()", it just says "global name 'faces' is not defined" If I define x without any of my dlfl methods it works fine: def x(): y = 2 print y+2 x() # 4 Here are the relevant parts of my code: PyObject *main = PyImport_AddModule("__main__"); PyObject *dlfl = PyImport_AddModule("dlfl"); PyObject* main_dict = PyModule_GetDict( main ); PyObject* dlfl_dict = PyModule_GetDict( dlfl ); PyObject *rstring = PyRun_String( cmd, Py_file_input, main_dict, dlfl_dict ); rstring returns NULL and then PyErr_Fetch( &object, &data, &traceback ); gets the traceback string as I mentioned above. Hopefully, there is just a simple solution. Thanks :) -- http://mail.python.org/mailman/listinfo/python-list