Не получается грамотно реализовать загрузку библиотеки dll из модуля расположенного в пакете. Кто имел положительный опыт, прошу оказать помощь. Спасибо.
Структура проекта следующая:
main.py mypackage/ __init__.py mymodule.py mylib.dll
В файле mymodule.py реализован класс-обертка для библиотеки mylib.dll. Библиотека загружается через ctypes.CDLL. В этом же файле реализован self-test код. Если запускать этот self-test код, то программа работает должным образом.
В файле main.py импортируется модуль mymodule.py из пакета mypackage с целью применения вышеупомянутого класса. Но выполнение программы завершается с ошибкой ввиду того, что модуль ищется в корневом каталоге.
Traceback (most recent call last): File "D:\test\main.py", line 3, in <module> mymodule.test() File "D:\test\mypackage\mymodule.py", line 5, in test dll = CDLL('mylib.dll') File "C:\Python32\lib\ctypes\__init__.py", line 340, in __init__ self._handle = _dlopen(self._name, mode) WindowsError: [Error 126] Не найден указанный модуль
dll = CDLL('mylib.dll')
dll = CDLL(r'mypackage/mylib.dll')
Как грамотно решить эту проблему?