如何系统地找出Python包正在寻找的DLL?

时间:2017-10-14 02:27:28

标签: python dll pyqt pyqt5 cx-freeze

我有一个使用PyQt5和其他一些库的数据采集软件。我使用cx_freeze将程序冻结为可执行文件。该程序适用于所有客户(不到10个),除了韩国的这个人。他收到了这个错误:

D:\Acquirer\Acquirer.exe
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\conda\conda\envs\py35\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 14, in run
  File "C:\Users\user\AppData\Local\conda\conda\envs\py35\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26, in run
  File "AcquirerLibs/acquirer.py", line 5, in <module>
  File "C:\Users\user\BoxDataAcquisition\AcquirerLibs\AcquisitionWindow.py", line 3, in <module>
  File "C:\Users\user\BoxDataAcquisition\AcquirerLibs\DataAcquire.py", line 10, in <module>
  File "C:\Users\user\BoxDataAcquisition\AcquirerLibs\DataCollected.py", line 7, in <module>
  File "C:\Users\user\BoxDataAcquisition\AcquirerLibs\Dataset.py", line 4, in <module>
ImportError: DLL load failed: 找不到指定的程序。

那个非英语文本是(找不到程序/ dll),正如那个人说的那样。

关注Dataset.py到第4行时,基本上就是这样:

from PyQt5.QtGui import *

我想指出我在冻结过程中手动包含了许多DLL,包括一些来自intel mkl和其他来自Qt的DLL。我确保文件QtGui.dll也在那里。但现在我完全无法理解失踪的东西。

问题不在于缺少dll。问题是我似乎找不到系统地跟踪丢失文件并提供它的方法。

我尝试了什么:

  • 我尝试将所有Qt*.dll个文件复制到可执行文件旁边,但这并没有帮助。

  • 我试着查看QtGui的来源,找出ctypes导入的内容。但是ctypes甚至没有导入QtGui.pyi

我可以给他一些食谱吗,这样他就可以找到究竟缺少的DLL吗?

0 个答案:

没有答案