我已将代码从C导出到myexported.dll。 myexported.dll依赖于platforms / qwindows.dll(QT)。它与myexported.dll
位于同一目录中这就是我使用ctypes的方式:
#myapp.py
from ctypes import *
mydll = WinDLL("myexported.dll")
mydll.independant_foo() #works fine
mydll.dependant_foo() #prompts the error and exits the program (python.exe)
当我运行脚本时:
python.exe myapp.py
一切正常(非依赖函数),直到它调用需要qwindows.dll的函数。此时它会提示:
此应用程序无法启动,因为它无法找到或加载Qt平台插件" windows"。 可用的平台插件有:最小,屏幕外,窗户。 重新安装应用程序可能会解决此问题。
我尝试了以下操作,但没有一个工作:
它唯一有效的案例是复制" platforms / qwindows.dll"在我的python文件夹中的python.exe文件旁边。
除非它们位于python.exe文件旁边,否则还有10个其他类似的dll无法找到。
如何强制python.exe查看myapp.py目录中的dll?
答案 0 :(得分:-1)
我遇到了同样的问题。刚刚找到答案:error-when-loading-dll-from-a-different-directory-using-python-ctypes-cdl
简而言之,修改您的os.environ['PATH']
。