请问如何用 pyinstaller 打包 Python 源文件里有打开和加载某个预定的 dat 文件?

2018-04-20 15:40:53 +08:00
 hititan
大侠们,你们好,小弟请教一个问题
1:请问如何用 pyinstaller 打包 python 源文件里有打开和加载某个预定的 dat 文件?
2:还有就是 pyinstaller 打包的文件基本超过 5M 了。请问有什么办法或者什么模块把生成的文件变小一些吗?
3202 次点击
所在节点    Python
6 条回复
shootsoft
2018-04-20 18:38:10 +08:00
1. 有参数可以指定打包额外的目录作为资源文件,
2. 没办法,因为 python 本身的体积在那摆着呢。可以尝试启用 upx
chesterzzy
2018-04-20 20:46:27 +08:00
多年前,我也曾尝试打包 Python 的程序为一个 exe

最后,我放弃了

还是用合适的工具做合适的事吧
omph
2018-04-21 00:00:48 +08:00
楼上说的对,我转 PS 了
debuggerx
2018-04-21 00:50:13 +08:00
我一般偷懒就直接把要加载的文件用相对路径,然后打包的时候加-F 选项生成一个 exe,那些文件就放 exe 同目录下,或者 exe 同目录建个 res 目录把资源文件全放进去。。5m 很大么,,我一般都用 pyqt 写小工具,mac/win 的包一般 15m+,linux 包更是将近 50m 了都
https://github.com/debuggerx01/JSONFormat4Flutter/releases
twistedmeadows
2018-04-21 08:40:10 +08:00
加-F 的话程序启动速度会变慢很多。而且我遇到过加-F 打包数据文件调用失败的。

编辑. spec 文档去控制打包时包含的数据文件,参考:
https://blog.csdn.net/u010159842/article/details/53212443
hititan
2018-04-21 21:01:01 +08:00
感谢楼上的回复,真心感谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/448478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX