Python FIleNotFoundError使用模块ctypes和CDLL

2024-10-01 22:32:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经使用ctypes开发了一个到.dll的python包装器。我可以在两台不同的电脑上运行这个程序,一台是Windows10,另一台是Windows7。现在我必须在第三台计算机上运行代码(我复制了所有文件,其结构保持不变),但它会抛出以下错误:

FileNotFoundError: Could not find module 'path_to_dll' (or one of its dependencies). Try using the full path with constructor syntax.

我创建此脚本是为了检查.dll

from ctypes import CDLL
import logging
import os

try:
    lib = CDLL('./eib7_64.dll')
except Exception:
    logging.exception("[ERROR]: ")
finally:
    print("\nPROGRAM FINISHED")

完整输出为:

 ERROR:root:[ERROR]:
Traceback (most recent call last):
  File "checkDLL.py", line 8, in <module>
    lib = CDLL('./eib7_64.dll')
  File "C:\Users\User\AppData\Local\Programs\Python\Python38\lib\ctypes\_init.py", line 373, in __init_
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\Users\User\Desktop\HeidenAndLoadCell\Heiden+LoadCell\eib7_64.dll' (or one of its dependencies). Try using the full path with constructor syntax.

在调用CDLL之前,我已尝试添加这行代码:

os.add_dll_directory("C:/Users/User/Desktop/HeidenAndLoadCell/Heiden+LoadCell")

我还尝试在CDLL('path_to_dll')中编写完整路径。在所有情况下,它都会抛出相同的错误。python脚本和.dll位于同一文件夹中。错误的原因是什么

在发生错误的计算机中:

  • Python 3.8.7 64位
  • Windows 10 64位(该.dll也是64位)

Tags: path代码importlib计算机错误errorctypes

热门问题