pyinstaller打包过大

一开始直接使用Python官网默认的Python安装包,然后pip安装Pyinstaller,导致一个打包好的exe文件有136MB。

后面查阅资料,也感觉是使用整体base环境的问题。

所以对电脑的Python环境进行清理,安装Anaconda,Python版本3.8。

点击Environment,选择Create新建一个虚拟环境。这里非常棒,看到这个虚拟环境是直接建立在Anaconda的安装目录里面的,而不是像pipenv直接扔在user/文件夹里面。

这里有个坑,不能直接在anaconda里面安装Pyinstaller,不然的话,他只会把你同样用anaconda安装的packages打包进去,但是你单独在命令行env里面用pip安装的包,就不会被打包进去,导致最后在另外一台没有python的机器上面运行就会说找不到包。

注意看箭头所指的这个图标。如果是在conda里面安装的pyinstaller,这里就会显示绿色的conda图标,这样是不行的。这里是我用命令行env里面pip装好的,就是显示python的这个蓝黄色图标。

这里我的程序使用到了一个uiautomation库,这个库conda里面是没有的,所以我pip装完之后,使用同样是pip安装的pyinstaller进行打包,就可以完美的缩小体积。

这里还可以进一步的缩小文件体积。细心的话可以看出,在pyinstaller的命令行会提示UPX is not available的问题,所以直接下载upx.exe(https://github.com/upx/upx/releases/),放到path的目录下面(我直接放到C:\Windows目录里面了) 

这样就会提示is available了。文件体积得以进一步缩小。

这样,原来136MB的打包exe,现在只有6MB。

Guess you like

Origin blog.csdn.net/uiop_uiop_uiop/article/details/111693509