Я запускаю приложение C со встроенным Python (v3.6), и у меня возникла небольшая проблема ...
После установки путей к моим библиотекам (Py_SetPath) и инициализации Python(Py_Initialize), мое приложение падает на PyImport_ImportModule, когда импортируемый мной модуль также импортирует AWS boto3.Оригинальное бото не вылетает из моего приложения.
Кто-нибудь еще испытывал это?В чем причина?Спасибо!
Я могу успешно импортировать boto3 без сбоев, используя интерпретатор командной строки Python.
Py_SetPath(L"/usr/lib/python3.6:/usr/lib/python3.6/site-packages:/usr/lib/python3.6/lib-dynload:/usr/local/modules");
Py_Initialize();
if(!(module = PyImport_ImportModule("main"))){
//Always crashes on the function above when main imports boto3, and never makes it here.
PyErr_Fetch(&etype, &evalue, &etraceback);
estr = PyObject_Str(evalue);
error_message = PyUnicode_AsWideCharString(estr, &len);
char message[len + 13];
sprintf(message, "Python Err: %ls", error_message);
printf("%ls\n", message);
Py_XDECREF(estr);
Py_XDECREF(module);
Py_XDECREF(etype);
Py_XDECREF(evalue);
Py_XDECREF(etraceback);
return 0;
}
//Continues successfully if main imports boto
...