Python 用 Gooey 库编写了一个最最简单的调用外部命令行的界面程序,打包后体积 30MB ,怎么再次降低,最低能到多少 MB ?

  • 代码 40 行,最简单的调用外部一个命令行的程序;
  • 打包命令 pyinstaller --onefile --noconsole --exclude-module tkinter --upx-dir D:\Temp\py1 D:\Temp\py1\main.py ,生成的程序 31.3MB 。
  • 用 Gooey 做界面之前用 AutoIt 做的一个类似界面 EXE 才几百 KB 。

如果降不下去体积到几兆,就换 Winform 或者 AutoIt 去做了。

举报· 721 次点击
登录 注册 站外分享
6 条回复  
ghostben 小成 2024-11-20 22:24:06
https://www.zhihu.com/question/48776632/answer/2336654649 lz 可以参考一下这个。 ps 个人研究了很久,如果真想做 10m 以下的小工具啥的,用 python 其实会很麻烦,不如换个技术栈
Leon6868 小成 2024-11-20 22:25:47
几乎不可能小于 10mb ,你可以试试 Nuitka 但是我觉得应该帮助不大 Python 写 GUI 就是为了方便嘛,大小肯定不占优势的
SenLief 小成 2024-11-21 08:13:49
python 打包不占优势,如果单文件还是 go
bler 小成 2024-11-21 09:07:43
不是编译型编程语言,打包后都得带上自身语言的虚拟机的,编译型语言,编译的时候就转化成二进制机器码了,像 python 这种编程语言,开发确实快,但是由于不是直接编译成二进制机器指令,需要带上自身虚拟机肯定大,你只能去找 c ,rust 之类的编程语言去看看,能不能找到好用的库,简化你的编写逻辑
bler 小成 2024-11-21 09:09:55
好像 go 也可以,直接编译成二进制,go 现在也挺火的,工具库应该也多,可以试试
bler 小成 2024-11-21 09:15:00
了解了一下 go ,虽然是编译成二进制文件,但是它依赖一个 runtime 运行时的东西,在我看来其实也是属于虚拟机的范畴,只不过相比于 python 这种,应该要小一点,你可以试试打包一下,看看文件大不大
返回顶部