如何将Python文件.py打包成.exe可执行程序(最简教程吗)

废话不多说,正文开始

什么是.exe可执行程序

相信对python有过学习的朋友都知道可以用IDLE编写并跑一跑python,但是如何做到别人电脑没有装python的情况下运行python的脚本呢?(看标题

这里简单提一下.exe 可执行程序

网上随便找到的图
网上随便找到的图

.exe是文件扩展名,带有.exe扩展名的文件名按下Enter 键就可运行。这么个意思不就是:不需要有python环境即可运行python程序

打个比方:Weather 这个仓库里weather.exe就是通过打包技术从.py→exe

136d77c90c6444e7b171fb5e299ea8d7.png
weather.exe

 进入正题

目前比较常见的打包exe方法都是通过Pyinstaller来实现的,本文便介绍这种方法。

1.安装Pyinstaller

第一种方法(可能有各种扯皮错误)

首先我们要先安装Pyinstaller,直接在cmd使用pip命令

  1. windows + R 打开命令窗口
  2. 输入 cmd ,打开命令提示行
  3. 输入以下指令安装 pyinstaller :
pip install pyinstaller

第二种方法(推荐)

先打开cmd(先放那)


再找到Python的快捷方式(所有应用里就有)右键-打开文件所在的位置

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

找到并打开Scripts这个文件夹 

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

找到pip,拖到cmd中 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 首先,注意先打一个空格,随后输入下方代码后回车

install pyinstaller

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 出现下面的情况则安装成功

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 2.Windows使用pyinstaller进行打包

(1)小白笨方法

刚才Scripts目录下多了几个应用程序,我们找到pyinstaller即可,先不要打开它,保持这个窗口不要关。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 找到你.py文件所在位置。这里我的文件在桌面(其他位置以此类推),按住shift,空白处右键-在终端中打开

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 注意,这里把我们之前得到的pyinstallert拖入到终端里,如下图watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 这里我们先在上图.exe后键入一个空格,输入 "文件名+.py  回车"(不加" ")

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 出现上述情况即为成功,注意左上角的dist文件夹,打开

此时会出现dist,build,.spec三个文件,我们只需要dist就行,打开如下图

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

 找到默认打包图案的应用程序(.exe)即为我们打包好的.exe可执行程序(双击即可运行

恭喜你拿下全部打包技巧!

(2)大佬快速开始打包

其实可以使用下方终端命令直接打包:(.py文件的目录下)

Pyinstaller -F xx.py 打包exe
 
Pyinstaller -F -w xx.py 不带控制台的打包
 
Pyinstaller -F -w -i xx.ico xx.py 打包指定exe图标打包

以上就是全部过程,实际操作起来也不是很困难,但是需要注意一些细节的处理(比如说路径问题,空格键,终端命令行……)。

这是目前作者所找到的最简路径实现.py打包,希望对大家能有所帮助。


进阶一下

最后处理几个问题,.exe默认打包图标……似乎不太好看,生成的文件也不少(也看不懂),该如何解决?

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16
看着很复杂

78f233f56f124e378d8a01b9c7156024.png
默认的图标

 这里提前说明一下,以下步骤是在上面“ 这里我们先键入一个空格,输入文件名+.py  ”后操作的

最常用下面几个写下自取

文件名.py -F   //打包exe
文件名.py -F -w   //不带控制台的打包
文件名.py -F -w -i 图片名.ico //.exe有图标的打包

进阶版举例演示一下 

这是我想要的exe程序的图标(嗯,我可爱的头像),图片名字是 e (随便取个好记)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

成功后打开dist文件(很熟练)

此时,一个打包好的.exe待你双击,图标好看,无杂乱文件,很完美 。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV2Nvd2lu,size_20,color_FFFFFF,t_70,g_se,x_16

136d77c90c6444e7b171fb5e299ea8d7.png
weather.exe自定义图标(与开头呼应)

作者能力有限,不免疏漏,如有不足,还请谅解指正~

感谢你们!!!

3.Mac下的打包

再补充一下:Mac下打包的语法相同,会产生Unix可执行文件和打包好的exe程序

f282a87027584eafa1dd7387d0d91644.png

联系我

6a10a10f309148ceafba5bf345924d55.png
联系我 | 欢迎技术交流~

 

2023.8.15

近期修复了一些语句表达的疏漏和代码的小小bugs~

2023.11.18

回首看此文,修改了当初使用的低级语法,到底还是`Pyinstaller -F xx.py 打包exe`这一句足矣

看到一年来很多人收藏,不免感慨万千,谢谢读者们

技术自由,开源万岁~

2024.5.15

第三次审稿了,假装文章还有Bug~~

先说成果:展现量接近10w+,收藏量突破300+,阅读量也2w+了 。

引流:介绍一下我的博客,地址是:https://wcowin.work/   欢迎学习交流,多多留言~


没想到大一时候本着玩的心态写的文章竟然有如此的“多”的关注量,受宠若惊,回首看当时自己码的文章,自感羞愧之余不免有一丝感动,我很庆幸我的大学生涯我一直在坚持自学,大学之前想做的一些事情去钻研了并且大部分也做到了~

书山有路勤为径 学海无涯苦作舟       

共勉!

参考资料

[1] 别再问我Python打包成exe了!(终极版)别再问我Python打包成exe了!(终极版)朱小五是凹凸君呀的博客-CSDN博客_python 打包成exe

[2] 什么是exe - 搜狗百科

[3] 学习笔记 | PyInstaller 使用教程——用pyinstaller打包exe应用程序【建议收藏!】

用pyinstaller打包exe应用程序【建议收藏!】_你豪哥哥的博客-CSDN博客_pyinstaller教程

评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wcowin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值