Ctypes:[WinError 126]无法找到DLL

时间:2018-12-14 09:01:32

标签: python ctypes 32bit-64bit

我知道关于WinError 126的线程很多,依此类推。但是我真的需要帮助...

我有一个这样的目录:

  • mytestscript.py
  • my32bit.dll
  • my64bit.dll

我安装了32位和64位Python解释器。 现在,如果我使用32位解释器运行mytestscript.py,一切正常。

import ctypes
dll = ctypes.windll.LoadLibrary("my32bit.dll")
print(dll)

但是如果我使用64位解释器运行

import ctypes
dll = ctypes.windll.LoadLibrary("my64bit.dll")
print(dll)

出现以下错误:

Traceback (most recent call last):
  File "C:/Users/Heinzeri/Desktop/TEMPY/mytestscript.py", line 4, in <module>
    dll = ctypes.windll.LoadLibrary("my64bit.dll")
  File "C:\Program Files\Python37-64\Lib\ctypes\__init__.py", line 434, in LoadLibrary
    return self._dlltype(name)
  File "C:\Program Files\Python37-64\Lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [Error 126] The specified module could not be found

64位Python找不到DLL的原因可能是什么? 我是否必须将其添加到PATH / PYTHONPATH? 我需要一些Microsoft可再发行软件吗?

已检查DLL的64位和32位,并来自供应商。

1 个答案:

答案 0 :(得分:1)

这也可能意味着缺少另一个依赖项。请使用Dependencies(Dependency Walker的前身)检查幕后情况。

也许缺少一些64位运行时。