> On 17 May 2023, at 20:35, Jason Qian via Python-list <python-list@python.org> > wrote: > > Hi, > > I Need some of your help. > > I have the following C code to import *Import python.* It works 99% of > the time, but sometimes receives "*ImportError('Error: Reinit is > forbidden')*". error. > **We run multiple instances of the app parallelly. > > *** Python version(3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC > v.1914 64 bit (AMD64)] > > PyObject * importPythonModule(const char* pmodName) > { > const char* errors = NULL; > int nlen = strlen(pmodName); > PyObject *pName = PyUnicode_DecodeUTF8(pmodName, nlen, errors); > PyObject *pModule = *PyImport_Import*(pName); > Py_DECREF(pName); > if (pModule == NULL) { > if (*PyErr_Occurred*()) { > handleError("PyImport_Import()"); > } > } > } > void handleError(const char* msg) > { > ... > "PyImport_Import() - ImportError('Error: Reinit is forbidden')" > }
You do not seem to printing out msg, you have assumed it means reinit it seems. What does msg contain when it fails? Barry > > > Thanks > Jason > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list