Я хочу знать, есть ли PyMOD(DEINIT)_FUNC
?, Я знаю, что ресурсы освобождаются при выходе из сценария python, но я хотел бы сделать свой код ответственным за используемую им память.Есть ли PyMOD (DEINIT) _FUNC?
Я, конечно, искал документацию, и до сих пор я думаю, что нет функции, вызванной из ядра python, в модуль c, когда модуль выгружается, но я надеюсь, что есть, и я просто не знаю, как искать ,
Пожалуйста, отметьте вашу версию python. Также обратите внимание на https://bugs.python.org/issue9072, особенно «* Примите, что Python действительно не поддерживает выгрузку модулей для серьезных, фундаментальных, непреодолимых технических проблем, в 2.x. *» – dhke
Также релевантно [PEP 3121] (https://www.python.org/dev/peps/pep-3121/): * В дополнение к функции инициализации модуль может реализовать ряд дополнительных функций обратного вызова, которые вызываются, когда вызывается функция tp_traverse модуля, tp_clear и tp_free, и когда модуль перезагружается. * Это реализовано для Python 3, а не Python 2, поэтому ваша точная версия важна. –
@dhke Я часто забываю, как раздражает то, что существует очень большая разница между версиями, и сколько много проектов придерживаются python2, однако я верю, что когда-нибудь все перейдут на python3, и я сделаю все с помощью python3, особенно c-модулей. –