将 Python 应用打包成 exe 软件,仅需一行代码搞定!

初学 Python 的同学可能会觉得开发一个 exe 软件非常复杂,其实不然,从将 .py 应用程序打包成 .exe 软件,仅仅只需一行代码就可以搞定!

而实现这一强大功能的就是 PyInstaller 工具!它能够将你的 Python 脚本打包成独立的可执行文件,无需安装 Python 解释器或任何第三方库,真正实现"一次打包,处处运行"。

文档地址:pyinstaller.org/

代码仓库:github.com/pyinstaller...

PyInstaller 会读取您编写的 Python 脚本,通过分析代码来发现程序运行所需的所有模块和库。随后收集这些文件的副本(包括活动的 Python 解释器),并将其与您的脚本共同打包至单个文件夹,或可选地生成独立可执行文件。

1. 安装 PyInstaller

安装 PyInstaller 非常简单,只需通过 pip 命令即可完成。推荐在虚拟环境中安装,以避免与系统全局 Python 环境产生冲突。

复制代码
pip install pyinstaller

2. 基础打包命令

使用 PyInstaller 打包一个简单的 Python 脚本仅需一行命令。它会自动分析脚本的导入语句,收集所有依赖项,并生成可执行文件。默认情况下,输出文件位于 dist目录中,你可以直接运行它而无需 Python 环境。

复制代码
pyinstaller your_script.py

3. 常用参数详解

PyInstaller 提供了丰富的命令行参数,允许你自定义打包行为。例如,使用 --onefile参数可以将所有文件打包成单个可执行文件,而 --windowed参数则适用于 GUI 应用,避免显示命令行窗口。掌握这些参数能让你更灵活地控制输出结果。

css 复制代码
pyinstaller --onefile --windowed your_script.py

4. 实战案例:打包一个 GUI 应用

让我们以打包一个简单的 Tkinter GUI 应用为例,演示 PyInstaller 的实际操作。首先创建一个包含窗口和按钮的脚本,然后使用 PyInstaller 生成可执行文件。注意添加 --windowed参数以避免命令行窗口弹出。

scss 复制代码
import tkinter as tk
from tkinter import messagebox

def on_click():
    messagebox.showinfo("Hello", "Welcome to PyInstaller!")

root = tk.Tk()
root.title("Demo App")
button = tk.Button(root, text="Click Me", command=on_click)
button.pack(padx=20, pady=20)
root.mainloop()

打包命令如下:

css 复制代码
pyinstaller --windowed --onefile gui_app.py

最终会在该目录下生成 dist 目录,dist 目录中生成 gui_app.exe 可运行软件!

5、总结

由以上可知,使用 pyinstaller 打包 exe 文件十分简单:仅需一行命令!大家如果有将 python 应用程序打包成 exe 执行文件的需求,不妨一试 pyinstaller!

如果你喜欢本文,欢迎点赞,并且关注我们的微信公众号:Python技术极客 ,我们会持续更新分享 Python 开发编程、数据分析、数据挖掘、AI 人工智能、网络爬虫等技术文章!让大家在Python 技术领域持续精进提升,成为更好的自己!

添加作者微信(coder_0101),拉你进入行业技术交流群,进行技术交流~

相关推荐
zhuzhuxia⌓‿⌓7 小时前
线性表的顺序和链式存储
数据结构·c++·算法
未知陨落7 小时前
LeetCode:95.编辑距离
算法·leetcode
杨小码不BUG8 小时前
小鱼的数字游戏:C++实现与算法分析(洛谷P1427)
c++·算法·数组·信奥赛·csp-j/s
高山有多高8 小时前
栈:“后进先出” 的艺术,撑起程序世界的底层骨架
c语言·开发语言·数据结构·c++·算法
YouEmbedded8 小时前
解码查找算法与哈希表
数据结构·算法·二分查找·散列表·散列查找·线性查找
greentea_20138 小时前
Codeforces Round 65 C. Round Table Knights(71)
c语言·开发语言·算法
小秋学嵌入式-不读研版9 小时前
C61-结构体数组
c语言·开发语言·数据结构·笔记·算法
可触的未来,发芽的智生9 小时前
触摸未来2025.10.04:当神经网络拥有了内在记忆……
人工智能·python·神经网络·算法·架构
与己斗其乐无穷9 小时前
刷题记录(11)map和set的简单使用
算法
夜月yeyue10 小时前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc