【问题标题】:Failed to load dynlib/dll (Pyintaller)无法加载 dynlib/dll (Pyinstaller)
【发布时间】:2020-03-23 22:03:37
【问题描述】:
使用pyintaller将py文件转为exe文件后,exe文件抛出错误:“Failed to load dynlib/dll”。这是错误行:
main.PyInstallerImportError: 无法加载 dynlib/dll 'C:\Users\YANGYI~1\AppData\Local\Temp\_MEI215362\sklearn\.libs\vcomp140.dll'。
很可能在应用程序运行时未找到此 dynlib/dll
冻结。 [1772] 未能执行脚本 2
得到这个后,我确实检查了路径,但在我的 Temp 文件夹中没有找到名为“_MEI215362”的文件夹,我已经使所有文件可见。另外,我已经重新下载了VC,但将文件重新传输到exe,但它没有用。任何想法如何解决这个问题?提前谢谢!
【问题讨论】:
标签:
python
python-3.x
terminal
pyinstaller
【解决方案1】:
# 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=[] # , .....
)
【解决方案2】:
我也遇到过类似 Martin 的问题。
然而,就我而言,它是 ANSI64.dll 丢失...
因此,我只是将特定的 dll 文件放入 dist 目录。
最后,我将 exe 和相关的原始数据文件(例如 xlsx、csv)保存在“dist”文件夹中并运行已编译的程序。对我来说效果很好。