int main()
{
Py_Initialize();
PyRun_SimpleString("import sys\nimport os");
PyRun_SimpleString("sys.path.append(./)");
PyRun_SimpleString("print(sys.path)");
PyRun_SimpleString("print(os.listdir())");
PyObject *pModule = NULL;
pModule = PyImport_ImportModule(MODULE);
if (pModule == NULL)
{
PyErr_Print();
printf("can't find %s.py", MODULE);
return -1;
}
Py_Finalize();
return 0;
}
尝试了查到的所有方法都不能解决PyImport_ImportModule返回null的问题,后来使用PyErr_Print();
打印出了这样一条错误信息ImportError: dynamic module does not define module export function (PyInit_gptscancode)
。查询发现这条错误信息表示没有给C动态链接库创建Init函数,但是我load的是一个py文件,为什么会是C动态链接库呢?突然想到当前文件夹下有一个同名的.so文件,删除了就好了。