news 2026/4/18 6:24:14

0基础开发学习python工具_____一键打包!用 PyInstaller 将 Python 烟花程序转为 .exe(无需 Python 环境)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
0基础开发学习python工具_____一键打包!用 PyInstaller 将 Python 烟花程序转为 .exe(无需 Python 环境)

经过上两期的博文。感兴趣的友友应该了解了基础的python操作。例如你已经写好了绚丽的烟花程序,想发给朋友炫耀下。但朋友电脑没装 Python?别担心!借助 PyInstaller,你可以将整个 Python 脚本(包括pygame、图片、字体等依赖)打包成一个独立的.exe文件,双击即运行,无需任何环境配置。

第一步:安装 PyInstaller

在终端(命令提示符 / PowerShell / Terminal)中运行:确保你已在运行烟花程序的同一个 Python 环境中(推荐使用虚拟环境)。

pip install pyinstaller

示例:

第二步:准备好你的脚本打包exe

假设你的烟花程序文件名为:yanhua.py。并且它不依赖外部资源文件(如图片、音频),所以打包非常简单。在yanhua.py所在目录打开终端,运行以下命令:

pyinstaller --onefile --windowed --name "FireworkShow" yanhua.py

示例;

参数说明:

参数

作用

--onefile

打包成单个 .exe 文件(所有依赖嵌入)

--windowed

不显示控制台窗口(适合 GUI 程序,避免黑框)

--name "FireworkShow"

指定生成的 exe 文件名为FireworkShow.exe

yanhua.py

你的主程序文件

首次打包可能较慢(1~3 分钟),PyInstaller 会收集所有依赖并压缩。

第四步:找到生成的 .exe 文件

打包完成后,你会看到项目目录下新增了:

build/(临时构建文件,可删除)

dist/(最终产物所在目录)

进入dist/文件夹,你会看到一个生成的exe文件。这个 FireworkShow.exe就是你的独立可执行文件!

第五步:测试 与 分享

双击运行FireworkShow.exe.应该会正常弹出黑色窗口,点击即可放烟花!

发送给朋友→ 只需把FireworkShow.exe发给他,无需安装 Python 或 pygame!

示例;

常见问题解决

1. 打包后闪退?

原因:可能缺少--windowed,导致控制台一闪而过。

解决:确保加上--windowed(因为pygame是图形程序,不需要命令行窗口)。

2. 程序运行但没反应?

临时去掉--windowed,用--console打包看看报错:

pyinstaller --onefile --console --name "FireworkDebug" firework_pygame.py
然后运行 FireworkDebug.exe查看控制台输出错误信息。

3. 文件太大(100MB+)?

pygame+ Python 解释器本身较大,单文件模式会压缩但仍有体积。

可接受范围内(通常 30~80MB)。若需更小体积,可考虑--onedir(文件夹模式)或使用upx压缩(进阶)。

4.完整打包命令

pyinstaller --onefile --windowed --clean --name "FireworkShow" firework_pygame.py

--clean:清理临时缓存,避免旧依赖干扰。

5.额外技巧:添加图标(可选)

如果你有.ico图标文件(如firework.ico),可加上:

pyinstaller --onefile --windowed --name "FireworkShow" --icon=firework.ico yanhua.py

这样生成的 exe 会有自定义图标,更专业!

示例;

现在,你的烟花不仅是代码,更是一份可运行的数字礼物.对于初学者的你是不是特有成就感?关注我。了解更多学习python的小技巧

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 17:35:14

FPGA应用开发和仿真【2.2】

3.3.5 带有信号和波形的例子 现在,在前面例子的基础上修改代码,以代码3-10第11行定义的二进制码-格雷码转换模块为DUT,编写Testbench测试它。 依照3.3.3节的方法,新建一个名为“bin2gray.sv”的SystemVerilog文件并编辑它,在其中输入代码3-10第11~21行内容(即完整的bi…

作者头像 李华
网站建设 2026/4/18 3:28:21

CompletionService:Java并发工具包

Java并发编程利器:CompletionService实现原理解析引言:为什么需要CompletionService?在多线程编程中,我们常常需要提交一批任务并收集它们的结果。传统的做法是使用ExecutorService提交任务,获得Future对象集合&#x…

作者头像 李华
网站建设 2026/4/17 19:36:27

还在愁AI写论文AIGC率高?8款神器+真实参考文献,AIGC率低至11%!

还在用通用AI助手“暴力”生成论文初稿,然后提心吊胆地等待查重和AIGC检测结果?还在导师的“逻辑混乱”、“AI痕迹明显”等评语下反复修改,熬夜到崩溃?还在手动整理文献、设计问卷、分析数据,被繁琐流程拖垮进度&#…

作者头像 李华
网站建设 2026/4/18 0:48:02

我在明末当CEO-第5集《运营管理的粥棚效率》

轻松时刻: 有感而发写一下首歌: 零点时差:播放地址 故事核心设定 主角:方逸,顶尖商学院MBA毕业生,穿越至崇祯十年(1637年),成为河南一名家道中落的秀才。 核心矛盾:用现代管理工具拯救前工业时…

作者头像 李华