【问题标题】:Import module after Py_InitializePy_Initialize 后导入模块
【发布时间】:2019-07-13 12:43:16
【问题描述】:
今天,我使用PyImport_AppendInittab 附加C 中内置的python 模块。PyImport_AppendInittab 需要在Py_Initialize 之前调用。我无法完成,然后再次初始化引擎。问题是现在我需要在Py_Initialize 之后附加一些模块。有办法吗?
我使用的是 Python 3.6。
【问题讨论】:
标签:
python
c
python-3.x
python-c-api
【解决方案1】:
通过这样做解决了问题:
if (Py_IsInitialized()) {
PyImport_AddModule(module_name);
PyObject* pyModule = moduleInitFunc();
PyObject* sys_modules = PyImport_GetModuleDict();
PyDict_SetItemString(sys_modules, module_name, pyModule);
Py_DECREF(pyModule);
}
看到这个answer。