使用pyintaller将py文件转为exe文件后,exe文件抛出错误:“Failed to load dynlib/dll”。这是错误行:
main.PyInstallerImportError:无法加载 dynlib/dll 'C:\Users\YANGYI~1\AppData\Local\Temp\_MEI215362\sklearn\.libs comp140.dll'。 很可能在应用程序启动时没有找到这个 dynlib/dll 冻结了。 [1772] 执行脚本 2 失败
得到这个后,我确实检查了路径,但在我的临时文件夹中没有找到名为“_MEI215362”的文件夹,我已经使所有文件可见。另外,我已经重新下载了VC,并将文件重新传输到exe,但它不起作用。有什么想法如何解决这个问题吗?预先感谢您!
# I solved this exact problem by adding this to the spec file:
b = [
('C:\\path to python\\Python\\Python38\\Lib\\site-packages\\sklearn\\.libs\\vcomp140.dll', '.\\sklearn\\.libs')
]
and then
a = Analysis(['pythonFilename.py'],
pathex=[],
**binaries=b,**
datas=[] # , .....
)
我也遇到过和Martin类似的问题。 然而,就我而言,缺少的是 ANSI64.dll... 所以,我只是将特定的 dll 文件放入 dist 目录中。 最后,我将 exe 和相关的原始数据文件(例如 xlsx、csv)保存在“dist”文件夹中并运行编译后的程序。对我来说效果很好。
我在库“libxpress9.dll”中遇到了同样的问题。为了解决这个问题,我在创建 exe 文件时使用了以下命令。
命令:>pyinstaller --onefile --add-data "bin/libxpress9.dll;."应用程序.py
哪里, bin/libxpress9.dll -> 库路径
希望,会有所帮助。