const char * python_home = "\"C:\\Program Files\\Python3.6.4\"";
int main(int argc, char *argv[])
{
PyObject *pName = nullptr;
PyObject *pModule = nullptr;
PyObject *pDict = nullptr;
PyObject *pFunc = nullptr;
PyObject *pValue = nullptr;
PyObject *pMainModule = nullptr;
Py_SetProgramName((wchar_t *) APP_NAME);
Py_Initialize();
Py_SetPythonHome((wchar_t *) python_home);
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\"C:\\Program Files\\Python3.6.4\")");
if(PyErr_Occurred())
{
// error handling
}
pName = PyBytes_FromString("sympy");
if(nullptr == pName)
{
// error handling
}
// Below function call always fails
pModule = PyImport_Import(pName);
if(nullptr == pModule)
{
PyObject *ptype, *ptraceback;
PyObject *pystr = nullptr;
char *str;
PyObject *pErrMsg = nullptr;
PyErr_Fetch(&ptype, &pErrMsg, &ptraceback);
str = PyBytes_AsString(pystr); // str is always null
}
return 0;
}