当前位置: 首页 > 后端技术 > Python

别问我怎么把Python打包成exe!

时间:2023-03-26 12:42:28 Python

作者|Python进阶源码|Python爬虫与数据挖掘前言也许我们不一定是专业的程序员,但我们还是可以通过代码来提高效率,尽量少加班,多陪陪老婆(如果有的话)。如果实在不行,就让代码帮我们做重复的工作,我们就有时间省下来玩游戏了,是不是,对吧,哈哈哈。但是我们开发的脚本一般都会使用一些第三方的包,其他人也可能需要使用我们的脚本。如果我们把我们的xx.py文件发给他,他是不能直接使用的,还需要安装。安装python解释器,甚至安装我们使用的第三方包,是不是有点麻烦?但是我们都知道PC可以直接运行exe文件,这为我们提供了一种方便的方式。因此,阅读本教程后,这将成为过去。打成exe后就可以用来分享了。PS:如果打包成exe,尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但是不考虑32位的也无所谓位系统,可以直接打包python64位版本,只是它只能在win64位系统上运行。安装pyinstaller首先安装pyinstaller,使用安装命令:pip3installpyinstaller,如下图所示。pyinstaller打包机制我们写的python脚本是不能脱离python解释器独立运行的,所以在打包的时候至少会把python解释器和脚本一起打包。同样,为了让打包后的exe能够正常运行,我们将安装所有的第三方包打包成exe。就算我们的项目只用了一个requests包,我们可能还安装了n个其他包,但是他不在乎,因为包和包只有依赖关系。比如我们只安装了一个requests包,但是requests包还会安装一些其他的依赖包,所以为了安全,我们只能把所有的第三方包+python解释器打包在一起。如下所示。蓝色表示requests依赖的包已经安装好了,看吧!这里是Pyinstaller打包exe的地方。我举一个刚给同事写的办公自动化脚本的例子。源码示例效果如下图所示。1、我们把这个.py文件打包成一个exe,我们直接用cmd切换到这个脚本的目录,执行命令:pyinstaller-Fsetup.py,如下图。ps:-F参数的意思是叠加打包,这样打包的时候无论我们打包多少次,总是最新的。只需记住这一点并修复命令即可。2、执行完成后会生成几个文件夹,如下图所示。3、在dist里面有一个exe程序,就是可执行的exe程序,如下图。4、我们把这个setup.exe拖到和setup.py一样的目录下,运行一下,效果图如下图。5、这样,我们就完成了一次打包工作。如果别人需要,即使没有python环境,他也能跑起来。6、接下来我们封装一个有接口的。这里我用pyqt5写了一个最简单的框架,看看打包成exe能不能运行成功。效果图如下图所示。我们可以看到后面有个黑色的窗口,有点别扭,所以我们的打包命令也要改一下。7、执行pyinstaller-F-wsetup.py加上-w后,黑洞的控制台就不会显示了,这里就不演示了!8.但是我们打包好的exe和我们的图标真的很难看。默认的没有自己的样式,那我们应该怎么改呢?执行命令:pyinstaller-F-w-iwind.icosetup.py,如下图所示。9.图片默认打包,如下图。10、添加-i参数后,如下图,会形成一个类似风力涡轮机的logo图案。ps:最好所有程序路径都是英文的,不然会出现莫名其妙的问题setup.pypackagewithoutconsolepyinstaller-F-ixx.icosetup.pypackage指定exe图标包一般我们只需要这三个就够了满足所有需求。结束语到此,python打包成exe基本就结束了。记得在安装pyinstaller之前将pip升级到最新版本的pip。否则,可能会出现莫名其妙的问题。不信你可以自己试试,多碰壁就能学到很多东西。文末福利,史上最全Python资料合集(长期更新)。隔壁的孩子都哭了---点击收藏