我正在使用 PyInstaller 构建包含 PyTables 的 python 脚本的可执行文件。 由于我已更新到最新版本,因此构建可执行文件失败。错误如下:
Error: RuntimeError: Blosc2 library not found. I looked for "libblosc2.dll, C:\Users\USER\AppData\Local\Temp_MEI10642\tables\libblosc2.dll, None"
根据这篇文章,现在需要添加表二进制文件: https://github.com/pyinstaller/pyinstaller/issues/7408
我有一个 SPEC 文件,但不知道如何添加缺少的库。我尝试过以下方法:
所以我想添加
案例1:
binaries=[('C:\\Python39\\bin\\libblosc2.dll', 'BINARY')]
错误:
RuntimeError: Blosc2 library not found. I looked for "libblosc2.dll, C:\Users\USER\AppData\Local\Temp\_MEI10642\tables\libblosc2.dll, None"
案例2:
binaries=[('C:\\Python39\\bin\\libblosc2.dll', '.')]
加载程序挂起在循环中并且不启动可执行文件。
那么,如何将“Just add --collect-binaries=tables to your pyinstaller command”正确添加到我的 SPEC 文件中?
谢谢!
系统信息: 信息:PyInstaller:6.3.0 信息:Python:3.9.7 信息:平台:Windows-10-10.0.19044-SP0 信息:表 3.9.2
我也有同样的问题。
--collect-binaries=tables
仅适用于命令行。要解决此问题,您可以将以下内容添加到您的 app.spec 文件中:
from PyInstaller.utils.hooks import collect_dynamic_libs
binaries = []
binaries += collect_dynamic_libs('tables')
a = Analysis(
...
binaries=binaries,
...
)
如果您在成功构建应用程序后遇到加载程序卡在循环中,您可以看到以下问题加载程序卡在 PyTables 循环中