一直听闻python写代码多快,一直没有尝试,最近用python抓取公司的后台管理系统,实现了自动登录与日志抓取,写起来很方便,但是想要实现GUI的界面,就用了pyqt5进行开发,打包时遇到了难题,打包出来的exe文件有60多m,使用上不太方便。
1、打包使用了pyinstaller,因为使用了ddddocr验证码识别,所以需要包含,upx用于压缩减少exe体积。(打包出来的exe还是很大,将近100+m)
pyinstaller --onefile --collect-all ddddocr --collect-all pyqt5_plugins --collect-all qt5_tools --collect-all qt5_applications --upx-dir=D:\Soft\upx-4.2.4-win64 .\getServerLog.py
2、nuitka 打包,能够将 Python 代码编译成 C 代码,并生成可执行文件,因为 C 语言在处理速度上优于 Python。经过 Nuitka 编译后的程序通常比使用解释器执行的原生 Python 代码快得多,打包出来的文件大小相对较小,有70+m。
nuitka --standalone --onefile --mingw64 --nofollow-imports --show-memory --show-progress --plugin-enable=pyqt5 --follow-import-to=ddddocr --include-qt-plugins=sensible,styles --follow-import-to=ui --output-dir=o .\getServerLog.py
如果要实现GUI界面配合python,使用以上方式都不太理想,受限与包体积大的弊端,如果只使用终端,使用python开发还是很便捷的。
3、最后选择了使用flutter开发GUI程序,但是有一些验证码识别功能就无法实现,只能替换成手动输入,打包出来的exe只有20+m,满足了使用需求。
flutter打包exe涉及dll文件和exe文件的合并记录一下
1、flutter build windows //打包dart文件打包结果位于build/windows/runner/Release文件夹下 2、使用Enigma Virtual Box文件进行dll、data、exe合并 3、选择exe文件,拖入dll文件、data文件夹,执行封包
辅助开发
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Qt | Cross-platform software development for embedded & d...
- 又应验了那句歌词. 不经历风雨, 怎么见得了彩虹. 安装过程略去不提, 仅提示: pip install pyin...