Импорт библиотеки boto AWS работает, но происходит сбой boto3 при использовании Python C API - PullRequest
0 голосов
/ 09 апреля 2019

Я запускаю приложение 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
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...