25.7.30提醒:

我在文末推荐了PakePlus。大家请勿使用!!

 个人博客:

https://wcowin.work/https://wcowin.work/


2025.6.25

今天发现一个最近开源项目,一键打包 Python,跨平台运行

https://github.com/TanixLu/pyfuzehttps://github.com/TanixLu/pyfuze


 废话不多说,正文开始

什么是.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. win + 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

 这里我们先在上图

C\Users\Wcowin\AppData\Local\Programs\Python\Python310\Scripts\pyinstaller.exe

后键入一个空格,输入 "文件名+.py  回车"(不加" ")

示例:

C: \Users\Wcowin\AppData\Local\Programs\Python\Python310\Scripts\pyinstaller.exe xx.py

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

 出现上述情况即为成功!

此时会出现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

联系我

微信:

微信

个人博客:Wcowin's Blog知足且上进,温柔且坚定https://wcowin.work/


2023.8.15

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

2023.11.18

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

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

技术自由,开源万岁~

2024.5.15

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

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

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


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

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

共勉!

最后的最后

2025.5.30

第四次审稿了(也是最后一次)

最近文章成果:展现量接近15w+,收藏量突破350+,阅读量马上4w了 。

笔者临近毕业,感慨万千,祝大家前程似锦~


 推荐一个最近发现的开源打包工具PakePlus:

25.7.30提醒:

​​​​​​​

PakePlushttps://github.com/Sjj1024/PakePlus

参考资料

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

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

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

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

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐