python打包exe避坑指南

为了制作一个在没有python解释器的环境中使用的程序,这几周趟了无数的坑。

作为小白避坑指南,我们尽可能从头开始捋一捋。

首先,我的python开发环境是anaconda3(python3.8),这个环境本来对新手是非常友好的。

但前提来了,这必须是联网环境。

脱机环境下,anaconda安装第三方模块都是进prompt,cd到.whl或.gz所在的路径,然后pip,真的是一路血泪。

其次,当你使用anaconda3自带的base环境(environment),调用pyinstaller打包exe的时候,更大的问题来了。

这将把许多无用的第三方库全部打包到exe文件中。

结果就是一个小程序,却有着极其臃肿的体积,占用硬件资源,运行效率低。

比如,我做的这个小程序,明明只有50行代码,却打包出700M的exe,不得不令人怀疑人生。

如果只能这样,那么Python不可能作为一种开发语言,所以必然有解决之道。

好了,为了解决这个问题,我首先尝试了“删除无关.dll“的瘦身大法。

这个方法的步骤是:

1、pyinstaller时,使用-D命令,即产生一个目录(包含多个文件)作为可执行程序;

2、进入dist文件夹后,会发现你程序名所在的文件夹下,pyd、exe、DLL等各类文件是分开存放的;

3、打开你编译出来的exe文件,确保你的程序处于运行状态;

4、全选.dll文件,然后删除;

你可能感兴趣的:(python)