[问题] Linux打包exe,竟然超过600M

楼主: te1e1 (te1e1)   2021-05-19 23:40:38
饿死抬头,我前阵子写了一个不大的程式。因为之后是要在树莓派上面执行,
所以我就直接在树莓派上面进行pyinstaller,想要打包成exe执行档。结果发现
打包完后竟然超过600M,吓到我裤子都掉了下来。
它打包的过程中,我发现竟然还包含一堆我根本没用的模组,譬如PyQT或TK等,
如果真的要追究,我有使用pandas模组,应该会占一点空间,但也不至于这么大吧!
想请问各位高手,有什么解决的办法呢?
作者: yiche (你若安好,便是晴天)   2021-05-19 23:57:00
试试看nuitka需要先装gcc 不过这对Linux 应该不是问题
作者: ddavid (谎言接线生)   2021-05-20 02:10:00
你打包时有新建一个干净的虚拟环境吗?
作者: AndCycle (AndCycle)   2021-05-20 17:03:00
你不大的程式用了什么模组会差很多…
作者: jameschiou (阿邱)   2021-05-20 17:43:00
其实只要包pandas大概都破100MB...后来写小工具都改用其他语言 python部署太痛了
作者: panex0845 (胖克思)   2021-05-21 05:50:00
打包后档案太大通常是引用套件(package)的时候导入了没有使用的模组(model) 要缩小档案 只能一个一个引用需要的模组不过这方法效果有限 因为套件还有相依性(dependency)的问题 搞不好引用一个模组 杂七杂八的都相依进来了
作者: tsoahans (ㄎㄎ)   2021-05-21 11:40:00
先用cython转成c程式码再用gcc编译 这样会小很多但是有用到的python函式库还是要另外装
作者: s860134 (s860134)   2021-05-22 18:25:00
numpy pandas 好像就100以上了轮子很重 只是你在车上没感觉pyinstaller 有参数强制去除套件引用
作者: ptta (ptta)   2021-05-23 19:53:00
我也遇过,后来改用golang
作者: lycantrope (阿宽)   2021-05-24 12:16:00
只能推golang了
作者: kenduest (小州)   2021-05-24 12:24:00
有许多东西要用 go 来写不方便,pandas,numpy 替代方案?
作者: zxzx8059 (zxzx8059)   2021-05-24 21:59:00
看前同事是用虚拟环境来包
作者: brt   2021-05-25 15:10:00
使用 venv 才能干净打包
作者: yoyo178134 (安安尼玛)   2021-05-25 18:14:00
欸写py一定要确认环境欸程式输出requirement.txt开venv然后source 后pip3 install -r requirement.txt
作者: ToastBen (吐司边)   2021-05-26 01:12:00
3楼正解

Links booklink

Contact Us: admin [ a t ] ucptt.com