我试图在C ++中嵌入python 2.7.3并使用Numpy库,并在第二次导入Numpy时获得运行时错误。这是一个简单的代码示例(尽可能最小):
#include <Python.h>
int main() {
for(int i=0 ; i<2 ; i++) {
Py_Initialize() ;
PyImport_ImportModule("numpy");
Py_Finalize() ;
}
return 0 ;
}
这有什么问题?
答案 0 :(得分:4)
来自Py_Finalize
文档文档:
如果多次调用初始化例程,某些扩展可能无法正常工作 一旦;如果应用程序调用Py_Initialize()和,则会发生这种情况 Py_Finalize()不止一次。
如果Numpy是其中一个扩展,我不会感到惊讶。
更新:看起来像是这样,请参阅this question。