升级到Python 3.8.1后,我的工作代码中断了。以下行以前可以正常工作,但现在返回错误消息:
cdll.LoadLibrary('mydllpath/mydll.dll')
==> Could not find module 'mydll.dll'. Try using the full path with constructor syntax.
[有人建议将dll文件夹添加到dll搜索路径。所以我将代码更改为:
os.chdir('mydllpath')
print(os.listdir()) # Proof of success
os.add_dll_directory('mydllpath')
cdll.LoadLibrary('my.dll')
# cdll.LoadLibrary('mydllpath/my.dll') # Also unsuccessful
好吧,第二行代码中的print()将mydll.dll列为目录中的文件之一,但是Python / cdll仍然返回完全相同的错误消息:“找不到...”寻找想法/建议。谢谢...
或mydll依赖的另一个dll]时出现问题。 Python 3.8.2还使错误消息更具描述性。就我而言,mydll.dll依赖于位于目录树上一级的广泛使用的dll。使用os.add_dll_directory()将文件夹添加到搜索路径后,该程序再次开始工作。