Py3.6 + PyQt5 图形界面程序用 pyinstaller 打包生成的 EXE 比较大

2019-03-01 23:14:25 +08:00
 XIVN1987

用 Py3.6 + PyQt5 写了个图形界面小工具,,用“ pyinstaller -F SVDView.py ”打包,生成的 EXE 文件 33.4M

类似的程序用 Py2.7 + PyQt4 编写、pyinstaller 打包后不到 12M

于是用“ pyinstaller SVDView.py ”将程序打包到目录下,,看了下感觉有些文件是多余的,比如 opengl32sw.dll 、libGLESv2.dll 、d3dcompiler_47.dll 、Qt5Quick.dll 、Qt4Network.dll ,,将这些文件删掉执行了下程序,,程序执行正常

将这个目录压缩了下,,不到 18M,,感觉还可以,,不过感觉文件夹里一堆文件不如“ pyinstaller -F SVDView.py ”将所有内容打包成一个 EXE 文件简洁,,

pyinstaller 有没有什么命令选项可以将修改后的目录打包成一个 EXE 文件的方法??

6358 次点击
所在节点    Python
8 条回复
XIVN1987
2019-03-01 23:22:03 +08:00
继续删掉 Qt5Qml.dll 、_ssl.pyd 、translations 目录下的除 en 和 cs 外的其他文件,,

压缩后 14.5M ,,执行暂时正常,,
IceCola1
2019-03-01 23:30:18 +08:00
问一下,pycharm 开发的吗,我之前试了下 pyqt5,c 语言写的,没有智能提示感觉很难受啊。
cdwyd
2019-03-01 23:47:59 +08:00
比起那些用浏览器做界面的已经好多了
XIVN1987
2019-03-01 23:56:31 +08:00
@IceCola1
用的 sublime,,智能提示很弱,确实很痛苦,,不过还好程序简单,用的组件也不多,,
nicevar
2019-03-03 12:02:42 +08:00
Qt 基础库那几个文件如果是在 windows 下可以用 upx 之类进行压缩,体积能减少一半,但是 platform 的 dll 不能压缩,可能会运行不了,其实没必要弄成一个 exe,使用目录的方式发布就行了,如果只是简单的小工具压缩一下基本上就在 8M 左右
gongqingkui
2019-03-03 22:06:12 +08:00
压缩成一个 EXE 的话,执行的时候需要解压缩 exe,然后再执行代码,比较慢。
用目录的方法速度比较快。
XIVN1987
2019-03-03 22:38:14 +08:00
@gongqingkui
启动速度也是很重要的指标,,那看来还是打包成目录比较好
lovejunjie1
2019-03-04 01:11:50 +08:00
会不会是 import 了顶层库,这个库巨大,但是只用了一个功能。生成 exe 的时候全给抓过去了?

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

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

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

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

© 2021 V2EX