我的冻结Python文件正在我的计算机上正常工作。我用cx_freeze
冻结了他们,但在某些计算机上他们无法工作。例如在Windows 7中,它总是需要DLL文件,它说它们缺失了。它通常是api-ms-win
个DLL文件。
在Windows 10中,它显示以下错误:
但在我的电脑上,它可以正常工作。这怎么可能,我该如何解决?
答案 0 :(得分:1)
有许多潜在的问题,但最常见的是Python 3.5+和Windows 10似乎缺少api-ms-win
dll。
帮助我的Python冻结程序找到所需的DLL:
以下是pyinstaller
问题跟踪器中的一组备注:
将所需dll的目录添加到系统路径。我的应用程序使用的是依赖于api-ms-win dlls的PyQt5。
对于PyQt5,添加以下目录:
%WHERE EVER YOU INSTALLED PYTHON%\Lib\site-packages\PyQt5\Qt\bin
对于api-ms-win dll,您需要Visual Studio 2015或Windows SDK(在此处下载): 目录,如果您有Visual Studio:C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Remote Debugger \ x64 目录,如果您有Windows SDK:C:\ Program Files(x86)\ Windows Kits \ 10 \ Redist \ ucrt \ DLLs \ x64
添加所需路径后,pyinstaller可以找到这些文件。
(SOURCE)
但是缺少哪些DLL?
如果找不到任何丢失的DLL,可以使用Dependency Walker查找程序所需的所有DLL。
我应该使用Pyinstaller吗?
如果你正在使用的那个没有合作,通常值得尝试一些其他的冻结工具。