无法加载 dynlib/dll (Pyintaller)

问题描述 投票:0回答:3

使用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,但它不起作用。有什么想法如何解决这个问题吗?预先感谢您!

python python-3.x terminal pyinstaller
3个回答
5
投票
# 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=[] # , .....
             )

0
投票

我也遇到过和Martin类似的问题。 然而,就我而言,缺少的是 ANSI64.dll... 所以,我只是将特定的 dll 文件放入 dist 目录中。 最后,我将 exe 和相关的原始数据文件(例如 xlsx、csv)保存在“dist”文件夹中并运行编译后的程序。对我来说效果很好。


0
投票

我在库“libxpress9.dll”中遇到了同样的问题。为了解决这个问题,我在创建 exe 文件时使用了以下命令。

命令:>pyinstaller --onefile --add-data "bin/libxpress9.dll;."应用程序.py

哪里, bin/libxpress9.dll -> 库路径

希望,会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.