三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe
admin
2023-02-14 21:20:04
0

/1 前言/

  嘿,各位小伙伴,晚上好呀,我相信各位小伙伴都是python的爱好者。也许我们不一定是专业的程序员,但是我们仍然可以通过代码提高我们的效率,尽量少加班,多陪陪媳妇。再不行,让代码替我们干着重复的工作,我们有节省出来的时间打游戏不好嘛,是吧,哈哈哈。

  但是呢,我们开发的脚本一般都会用到一些第三方包,可能别人也需要用到我们的脚本,如果我们将我们的xx.py文件发给他,他是不能直接用的,他还需要安装python解释器,甚至还要安装我们用的那些第三方包,是不是有点小麻烦?但是我们都知道,PC是可以直接运行exe文件的,这就为我们提供了一个便捷的方式。所以,从看了这个教程以后,这都将成为过去式,打成exe之后,分享即可用。

  PS: 如果打包为exe的话,版本尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,但是如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,只是只能在win64位系统上跑。


/2 安装pyinstaller/

 首先安装pyinstaller,使用安装命令:pip3 install pyinstaller,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe


/3 pyinstaller打包机制/

  我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe

  即使我们的项目只使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests包,但是requests包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器一起打包。如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

      色表示是安装requests依赖的包,看到了吧!


/4 Pyinstaller打包exe/

 这里呢,我就拿刚给同事写办公自动化脚本示例一下。源码示例效果,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.py,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  ps: -F参数表示覆盖打包,这样在打包时,不管我们打包几次,都是最新的,这个记住就行,固定命令。

  2、执行完毕之后,会生成几个文件夹,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  3、在dist里面呢,就有了一个exe程序,这个就是可执行的exe程序,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  4、我们把这个setup.exe拖到和setup.py平级的目录,我们来运行一下这个,效果图如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  5、这样,我们就完成了一个打包工作,如果别人需要,即使没有python环境,他依然可以运行。

  6、接下来我们再来打包一个带界面的,这里我用pyqt5写了一个最简单的框架,看一下打包成exe是否能运行成功,效果图如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  我们可以看到,后面有一个黑洞洞的窗口,这就有点尴尬了,所以,我们的打包命令也要变一下。

  7、执行 pyinstaller -F -wsetup.py 多加-w以后,就不会显示黑洞洞的控制台了,这里就不做演示啦!

  8、但是我们打包的exe,我们的图标呀,实在是有点丑陋,默认的,没有一点自己的风格,那么,我们应该怎么改一下呢?

执行命令:pyinstaller -F -w-i wind.ico setup.py,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  9、默认打包图片,如下图所示。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  10、加上 -i 参数之后,如下图所示,会形成一个类似风力发电机的logo图案。

三个你必须要记住的Pyinstaller打包命令——利用Python实现打包exe

  ps:程序路径最好全部都是英文,否则肯能会出现莫名其妙的问题

  11、到此,我们能用到的pyton打包成exe命令都总结完了


/5 总结命令/

Pyinstaller -F setup.py 打包exe

Pyinstaller -F -w setup.py 不带控制台的打包

Pyinstaller -F -i xx.ico setup.py 打包指定exe图标打包

平常我们只需要三个就好了,足够满足所有需求了。


/6 结语/

  到这之后呢,python打包成exe基本算是结束了,记得一定要把pip升级成最新版的pip在安装pyinstaller哈。要不然可能会出现莫名奇妙的问题。不信邪的小伙伴们可以自己试试看,多碰碰壁也是可以学到很多的。


相关内容

热门资讯

即使中东冲突今天停止,欧盟在未... 新华社布鲁塞尔5月5日电(记者康逸)欧盟能源委员丹·约根森5日警告说,由于伊朗战事以及霍尔木兹海峡遭...
原创 A... 2026 年 4 月,知名产业链分析师郭明錤发布重磅报告:OpenAI正加速研发自研智能手机,以 A...
原创 怎... 你是不是也有过这样的疑惑:明明换了新手机,套餐也升级了,但总感觉网速没快到哪儿去,心里直犯嘀咕——我...
聚力未来通信!成都6G联盟成立 4月28日下午,成都6G联盟成立大会在成都民营经济发展促进中心举行。产业链上下游企业代表、行业专家学...
累计亏损800亿美元,Meta... IT之家 5 月 2 日消息,当地时间 5 月 1 日,据《财富》杂志报道,Meta 第一季度业绩本...
万鑫AI:AI交易大模型驱动下... 在全球金融市场进入高波动、高联动与高智能化并行发展的新阶段后,交易体系的竞争逻辑正在发生明显变化,传...
原创 赛... 2026 年 5 月 5 日,赛力斯股价突发暴跌,盘中跌幅超 6%,市值单日蒸发超百亿,# 赛力斯跌...
杭州博洲电器取得贴片电阻测试治... 国家知识产权局信息显示,杭州博洲电器有限公司取得一项名为“一种贴片电阻测试治具”的专利,授权公告号C...
智聚当下 共启新章——京口区举... 为抢抓人工智能发展新机遇,加快培育新质生产力,推动区域产业数智化转型与高质量发展,4月30日下午,京...
佐林电器取得可调式永磁阻尼器专... 国家知识产权局信息显示,上海佐林电器有限公司取得一项名为“一种可调式永磁阻尼器”的专利,授权公告号C...