Python C API重新启动解释器时出错 我开发了一个小DLL作为C++应用程序和Python脚本之间的代理。我想公开一个函数来重新启动python解释器。我试过这样的方法: void initialize() { Py_Initialize(); } void finalize() { Py_Finalize(); }

Python C API重新启动解释器时出错 我开发了一个小DLL作为C++应用程序和Python脚本之间的代理。我想公开一个函数来重新启动python解释器。我试过这样的方法: void initialize() { Py_Initialize(); } void finalize() { Py_Finalize(); },python,c,python-3.x,api,python-c-api,Python,C,Python 3.x,Api,Python C Api,我可以初始化解释器并完成它,但当我想再次启动它时,我收到以下错误: C:\A\31\s\Objects\structseq.c:398: bad argument to internal function 我在Python代码中导入第三方模块(如numpy、pandas、tensorflow等)时检测到这种情况。我认为这是因为在完成后释放内存时出现了一些问题,但不确定。文件说: bug和警告:模块和模块中对象的销毁是按随机顺序进行的;当析构函数(del()方法)依赖于其他对象(甚至函数)或模块

我可以初始化解释器并完成它,但当我想再次启动它时,我收到以下错误:

C:\A\31\s\Objects\structseq.c:398: bad argument to internal function
我在Python代码中导入第三方模块(如numpy、pandas、tensorflow等)时检测到这种情况。我认为这是因为在完成后释放内存时出现了一些问题,但不确定。文件说:

bug和警告:模块和模块中对象的销毁是按随机顺序进行的;当析构函数(del()方法)依赖于其他对象(甚至函数)或模块时,这可能会导致析构函数失败。Python加载的动态加载的扩展模块不会被卸载。Python解释器分配的少量内存可能无法释放(如果发现泄漏,请报告)。对象之间的循环引用中占用的内存不会被释放。扩展模块分配的某些内存可能无法释放。如果多次调用某些扩展的初始化例程,则它们可能无法正常工作;如果应用程序多次调用Py_Initialize()和Py_FinalizeEx(),就会发生这种情况

我想创建一个子解释器,并用它来运行我的python脚本。当我想重新启动解释器时,我可以完成子解释器并创建一个新的子解释器。但我不确定这是否是最好的方法,特别是考虑到线程