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

时间:2019-04-05 14:47:40

标签: pyinstaller

如何将文件打包到通过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") 

找不到文件。

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

1 个答案:

答案 0 :(得分:0)

传递给get_data的名称错误。

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

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