三个你必须要记住的Pyinstaller打包命令——用Python实现打包exe
off999 2024-09-16 00:52 39 浏览 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,如下图所示。
/3 pyinstaller打包机制/
我们写的python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe。
即使我们的项目只使用的一个requests包,但是可能我们还安装了其他n个包,但是他不管,因为包和包只有依赖关系的。比如我们只装了一个requests包,但是requests包会顺带装了一些其他依赖的小包,所以为了安全,只能将所有第三方包+python解释器一起打包。如下图所示。
蓝色表示是安装requests依赖的包,看到了吧!
/4 Pyinstaller打包exe/
这里呢,我就拿刚给同事写办公自动化脚本示例一下。源码示例效果,如下图所示。
1、我们来将这个.py的文件打包成一个exe,我们直接cmd切换到这个脚本的目录,执行命令:pyinstaller-F setup.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-i wind.ico setup.py,如下图所示。
9、默认打包图片,如下图所示。
10、加上 -i 参数之后,如下图所示,会形成一个类似风力发电机的logo图案。
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哈。要不然可能会出现莫名奇妙的问题。不信邪的小伙伴们可以自己试试看,多碰碰壁也是可以学到很多的。
相关推荐
-
- u盘启动蓝屏(联想电脑进入u盘启动蓝屏)
-
电脑插入U盘后蓝屏的原因如下:1、Windows的系统分区存在磁盘错误或文件错误2、主板的SATA或IDE控制器驱动程序受到了损坏或安装不正确3、计算机遭到了病毒木马、流氓软件等恶意程序的攻击解决办法如下:1、执行磁盘扫描程序对所有的磁盘驱...
-
2025-12-18 08:51 off999
- 下载新版微信并安装(下载新版微信并安装到手机)
-
1.首先打开手机的浏览器,在搜索栏中输入微信官网,并点击搜索。2.出现微信后点击下载,下载完成后,点击安装。 3.安装完成后,再回到桌面,点击“微信”4.输入账号密...
- 测速在线测试(测速在线测试高铁)
-
回答:不靠谱。例如:SPEEDTEST是一家叫Ookla的公司开发的测速工具,稍有经验的朋友想必对它都不会陌生。Ookla在全世界各地维护了大量测速节点,SPEEDTEST测量的就是与这些测速节点间的...
- 格式工厂免费版(格式工厂免费版破解版)
-
不收费用格式工厂是由上海格式工厂网络有限公司创立于2008年2月,是面向全球用户的互联网软件。格式工厂发展至今,已经成为全球领先的视频图片等格式转换客户端。格式工厂致力于帮用户更好的解决文件使用问题,...
- 路由器连接电脑插哪个端口(路由器跟电脑的连接线怎么插)
-
电脑连接路由器插入路由器LAN口。具体方法如下1、光纤或网线插到路由器的WAN口上,(或网线连接modem的line口,modem的lan口连接了无线路由的wan口);2、电脑网线从路由器的LAN口上...
- 华硕官方客服在线解答(华硕客服售后在线咨询)
-
如果您需要寻找ROG的售后服务,可以通过以下几种方式进行联系:1.官方网站:您可以在ROG的官方网站上找到售后服务的联系方式,如客服电话、在线客服、邮件等。2.客服热线:您可以通过ROG的客服热线...
- 召唤系统之最强帝国(召唤系统之最强人皇)
-
名字叫做《绝世皇帝》。讲述林谦,地球的国战游戏达人,发生意外后,重生到异界。然而,在这异界之中,除了修炼天赋好点,却没有特殊的一技之长。炼丹他炸炉,炼器成废铁,更别提阵法这些其他生活技能,一窍不通。不...
- 如何将网址粘贴为链接(网址复制到word怎么变成链接)
-
可以复制网址链接的方法有多种,最常用的方法是在浏览器中打开需要复制的网页,在地址栏中选中网址,然后右键选择“复制”,或者按下“Ctrl+C”快捷键,即可将网址复制到剪贴板中。另外,某些应用程序也提供了...
- i主题app下载(i主题官方版)
-
OPPO手机使用i主题的操作方法如下首先我们打开OPPO手机,在手机桌面找到i主题的图标,点击图标进入到主题页面,在主题页面,我们选择主题专区,然后再推荐主题专区里面找到你喜欢的主题之后,点击...
-
- win10官方下载工具打不开(win10下载软件打不开怎么办)
-
步骤/方式1首先右击win10桌面的此电脑图标,选择管理进入。步骤/方式2展开本地用户和组,点击用户,右击右侧的Administrator账户,选择属性打开,然后取消账户已禁用的勾选点击确定。步骤/方式3然后再次登录Administrato...
-
2025-12-18 04:03 off999
- 系统错误怎么解决(微信系统错误怎么解决)
-
1、最后一次正确的配置:在开机启动未进入到操作系统之前我们按下F8键,选择“最后一次正确的配置”然后回车即可。此方法只能解决因出现配置问题进不了系统的情况(例如更换新硬件或加载新驱动后造成的蓝屏),由...
-
- 电脑自带的防火墙怎么关(电脑的防火墙如何关闭)
-
点击开始,点击设置,进入设置后我们可以直接在上方的搜索框中直接搜索【defender】,就会弹出防火墙。点击进入防火墙后,在左侧的列表中找到【启用或关闭Windowsdefender防火墙】,并且点击进入。进入后,就可以自行关闭所有的防...
-
2025-12-18 03:03 off999
- 光猫和路由器哪个网速快(光猫网速快还是路由器网速快)
-
两个都快。这要从两个设备的功能说起。光猫是把光信号转变成数字信号的一种设备,随着光猫技术的发展,现在光猫也集成了路由器的功能,也带有有线和无线,只要有光纤加上光猫,就可以实现有线或者无线上网。路由器的...
- 台式电脑运行一段时间就死机
-
1、散热不良:显示器、电源和CPU工作时间太长会导致死机,给风扇除尘,上油。2、灰尘杀手:机器内灰尘过多也会引起死机故障。定期清洁机箱。3、内存条故障:主要是内存条松动,内存芯片本身质量所致,应根...
- 高清windows免费版观看(高清windows免费版观看网站)
-
方法一:1、右键单击开始菜单----运行2、在运行对话框中输入:devmgmt.msc,展开:显卡适配器,右击所列的显卡适配器,点击卸载。3、卸载后重新安装兼容Win10的显卡驱动,建议去官方下载...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
