有没有PyMOD(DEINIT)_FUNC?

时间:2015-06-06 16:17:10

标签: python python-3.4 python-c-extension

我想知道是否有PyMOD(DEINIT)_FUNC?我知道资源是在python脚本退出时释放的,但我想让我的代码对它所使用的内存负责。

我当然搜索了文档,直到现在我认为卸载模块时没有从python核心到c模块调用的函数,但我希望有,我只是不知道怎么做搜索范围。

1 个答案:

答案 0 :(得分:2)

Python 2不支持模块完成,不支持。见bug 9072

  

请接受Python确实不支持在2.x中为严重的,基本的,不可克服的技术问题卸载模块。

对于Python 3,模块初始化的C API进行了大修(参见PEP 3121),新的PyModuleDef struct有一个m_free slot,它采用了回调函数;用它来清除你的模块内存。