Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。

1.最近用python写了个小程序,使用PyQt5,但在使用Pyinstaller打包时,发现居然有200M+。程序很简单,如图.

Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第1张图片

    在网上找了很多方法,包括虚拟环境,upx压缩等等,但是其中虚拟环境确实能避免打入不必要的包(此时大小为60M),UPX压缩也能减小一部分(此时大小为57M左右)。

    后来我发现在我在程序里使用了一个labelme的包,这个包只用到了一个函数img_b64_to_arr,其他东西完全是占体积的。

    于是复制了关联的函数,删除了该包。

    此时大小不到50M,使用UPX大小为42M

Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第2张图片

2. 在寻找解决方法的时候发现了这个

Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第3张图片

pyinstaller打包后程序体积太大,如何解决? - 吵吵的回答 - 知乎

那么,此时最占体积的就是PyQt了,因为只是个小程序,体积太大反而不好。所以我又使用Tkinter对GUI重新复现了一下。主要对比Tkinter和PyQt使用Pyinstaller打包后的大小。

Tkinter是python自带的图形库,所以它的性能不是很差,但是它的库少,UI比较“丑”。如果对美观有要求,tkinter确实弱了一点,这个时候可以选用pyqt。

使用了Tinker做GUI的程序大小为20M+,upx压缩后为16M

Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第4张图片

界面对比(左PyQt5,右Tkinter)

Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第5张图片Pyinstaller打包PyQt5程序太大,tkinter和Pyqt写小程序哪个体积小。_第6张图片

结论:

因此写个小程序用TKinter写,打包起来体积更小。

 

 

你可能感兴趣的:(pythonGUI,tkinter,pyqt,python)