使用PyInstaller打包EXE中的数据文件

Use PyInstaller to package data files in the EXE

如何将文件打包成通过 PyInstaller --onedir 生成的 EXE 文件?

我明白了,我可以用

添加文件
a.zipped_data+=["version.json", "version.json", "DATA]
PYZ(a.pure, a.zipped_data)

pyi-archive_viewer显示PYZ中的文件-00.pyz

但是

pkg_util.find_loader("testmod").get_data("version.json") 

没有找到文件。

注意:我不能使用 --onefile 模式,因为它需要在每次程序启动时解压几个 100 MB。我想将几个文件(不仅是版本文件)与可执行文件绑定。

传递给 get_data 的名称是错误的。

对于 Windows 可执行文件 c:\test\testpgm.exe,正确的名称应该是 c:\test\version.json

在 Linux 中,可执行文件可能是 /usr/local/bin/test/testpgm,正确的名称应该是 /usr/local/test/version。json