[Python-Dev] Embedded Python:: C/Python: Is Py_Finalize() necessary between embedded function calls? (original) (raw)

Sydney Pang sydney.pang at gmail.com
Fri Feb 23 13:24:19 CET 2007


Hi, I am developing an application where I have Python embedded in C functions using the C/Python API to execute commands. My question stems from my need to preserve a PyObject to pass between these Python embedded C functions. My question is: do I have to call Py_Finalize() at the end of each Python embedded C function?

The abstract structure of my code looks like this:

PyObject *po;

main() { po = py_function_1();

// some C code in the middle here...

po = py_function_2(po);

// some more C code here...

}

In my implementation of py_function_1 and py_function_2 do I have to call Py_Initialize() and Py_Finalize at the beginning and end of each of the two functions? Or can I just call Py_Initialize at the beginning of py_function_1 and then call Py_Finalize() at the end of py_function_2?

Thank You. SP



More information about the Python-Dev mailing list