【问题标题】: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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2015-10-06
      相关资源
      最近更新 更多