Выгрузить DLL, загруженную в Python

В Windows у меня есть DLL, которую мы сделали сами, которая, помимо прочего, загружает другую DLL. Проблема в том, что при использовании DLL в Matlab с loadlibrary, calllib а также unloadlibrary Все отлично.

В Python я пытался использовать ctypes а также cffiоба с одинаковыми результатами. Я могу загрузить DLL и вызвать функции, но не могу выйти снова. Python зависает, и я должен завершить задачу из диспетчера задач.

С ctypes Я пытался позвонить

import _ctypes
_ctypes.FreeLibrary(lib._handle)

как предложено здесь. Освободите открытую библиотеку ctypes в Python без эффекта. Далее я попытался вызвать явную функцию, чтобы выгрузить другую DLL.

Может кто-нибудь дать подсказку или решение, почему он не выгружается / зависает?

1 ответ

Я нашел часть ответа здесь Как я могу выгрузить DLL, используя ctypes в Python?

По-видимому, нужно позвонить позвонить _ctypes.FreeLibrary непосредственно.

# Release DLL(?)
handle= lib._handle
 _ctypes.FreeLibrary(handle)
Другие вопросы по тегам