Я пытаюсь загрузить свой DLL (32-битный) файл, содержащий функции CPP, в python. Он работает на Python 3.7 (32 бита), но выдает ошибку при использовании Canopy 3.5 (32 бита).
код, который я использую для загрузки моей dll:
import os
import ctypes
os.chdir(r"G:\DLLdirectory")
mydll = ctypes.cdll.LoadLibrary('MyDLL.dll')
Если я запускаю его на Python 3.7, он работает, если я запускаю его с Canopy 3.5, я получаю:
Traceback (most recent call last):
File "DIR/PythonFile.py", line 26, in <module>
mydll = ctypes.cdll.LoadLibrary('MyDLL.dll')
File "DIR\Canopy32\edm\envs\User\lib\ctypes\__init__.py", line 425, in LoadLibrary
return self._dlltype(name)
File "DIR\Canopy32\edm\envs\User\lib\ctypes\__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
Если вы измените os.chdir () на sys.path.append () в canopy, модуль все еще не найден, а в python 3.7 я получаю эту ошибку:
Traceback (most recent call last):
File "DIR/PythonFile.py", line 26, in <module>
mydll = ctypes.cdll.LoadLibrary('MyDLL.dll')
File "DIR\Python\Python37-32\lib\ctypes\__init__.py", line 434, in LoadLibrary
return self._dlltype(name)
File "DIR\Python37-32\lib\ctypes\__init__.py", line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application