Python系列教程
Python秒变EXE!零基础打包教程,让程序随处运行无需安装Python
2025-10-26 4 0
简介 Python秒变EXE!零基础打包教程,让程序随处运行无需安装Python
Python秒变EXE!零基础打包教程,让程序随处运行无需安装Python
你是否遇到过这样的尴尬:写了个超棒的Python程序,想分享给朋友,结果对方还要安装Python和各种库?今天教你一招,让Python程序秒变EXE,双击就能运行!
一、为什么要打包成EXE?
真实场景:
给不懂技术的同事或朋友分享工具
客户电脑没有安装Python环境
想要专业的软件交付体验
保护源代码不被轻易查看
打包前后对比:
打包前:需要安装Python、安装依赖库、配置环境
打包后:直接双击exe文件,立即运行!
二、环境准备:安装py2exe
步骤1:检查Python环境
bash
# 打开命令提示符或PowerShell,输入: python --version pip --version
确保Python和pip都能正常使用。
步骤2:安装py2exe
bash
# 简单一行命令搞定 pip install py2exe # 如果下载慢,使用国内镜像 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple py2exe
步骤3:验证安装
python
# 创建一个测试文件 check_install.py
import py2exe
print("✅ py2exe安装成功!")
print(f"版本:{py2exe.__version__}")运行这个文件,如果显示成功信息,说明安装完成。
三、实战演练:从零打包第一个程序
第一步:创建项目文件夹
建议专门创建一个文件夹来管理打包项目:
text
我的Python程序/ ├── hello.py # 主程序 └── setup.py # 打包配置文件
第二步:编写简单的Python程序
hello.py - 我们的演示程序
python
def main():
print("恭喜!这是我的第一个EXE程序")
print("功能特点:")
print(" • 无需安装Python")
print(" • 双击直接运行")
print(" • 专业软件体验")
name = input("\n请输入你的名字:")
print(f"你好,{name}!欢迎使用Python打包程序!")
input("\n按回车键退出...")if __name__ == "__main__":
main()第三步:创建打包配置文件
setup.py - 打包的核心配置
python
import py2exe
py2exe.freeze(
console=[{
'script': 'hello.py',
'dest_base': '我的第一个程序' # 生成的exe文件名
}],
version_info={
'version': '1.0.0',
'description': 'Python打包演示程序',
'company_name': '编程小课堂',
'copyright': 'Copyright 2024',
'name': 'HelloApp'
},
options={
'py2exe': {
'bundle_files': 1, # 打包成单个exe文件
'compressed': True, # 压缩文件体积
'optimize': 2, # 优化级别
'excludes': [ # 排除不必要的库,减小体积
'tkinter', # GUI库(控制台程序不需要)
'email', # 邮件功能
'pdb', # 调试工具
'unittest', # 测试框架
'multiprocessing', # 多进程
],
}
},
zipfile=None # 不生成额外的zip文件)四、执行打包:一键生成EXE
打包命令
打开命令提示符,进入项目目录,执行:
bash
cd D:\我的Python程序 python setup.py
打包过程解析
你会看到类似这样的输出:
text
Building 'dist\我的第一个程序.exe' Copy DLL ...各种依赖文件...
这个过程会自动:
分析Python程序的依赖关系
收集所有需要的库文件
打包成独立的exe文件
复制必要的运行时文件
打包完成!
完成后会生成 dist 文件夹:
text
我的Python程序/ ├── dist/ # 打包输出目录 │ └── 我的第一个程序.exe # ✅ 这就是最终成果! ├── hello.py └── setup.py
五、测试与分发
测试生成的EXE
双击
dist/我的第一个程序.exe或者在命令行中运行:
bash
cd dist 我的第一个程序.exe
如何分享给他人?
直接把 dist 文件夹里的exe文件发送给对方即可!对方不需要安装Python。
六、高级技巧:处理常见问题
问题1:文件体积太大
解决方案: 排除更多不必要的库
python
options={
'py2exe': {
'bundle_files': 1,
'compressed': True,
'excludes': [
'tkinter', 'email', 'pdb', 'unittest', 'multiprocessing',
'http', 'ssl', 'sqlite3', 'asyncio', # 更多排除项
],
'dll_excludes': ['MSVCP90.dll', 'w9xpopen.exe']
}}问题2:程序需要数据文件
解决方案: 包含额外文件
python
py2exe.freeze(
console=[{'script': 'main.py'}],
data_files=[ # 添加数据文件
('images', ['data/logo.png']),
('config', ['settings.ini'])
],
# ...其他配置)问题3:打包GUI程序
如果是图形界面程序(如tkinter、PyQt):
python
py2exe.freeze(
windows=[{ # 使用windows而不是console
'script': 'gui_app.py',
'icon_resources': [(1, 'app.ico')] # 设置图标
}],
# ...其他配置相同)七、效果对比
打包前:
源代码:1KB的
.py文件运行要求:安装Python、安装依赖库
用户体验:技术门槛高
打包后:
成品程序:5-10MB的
.exe文件运行要求:双击即可
用户体验:零门槛使用
八、实际应用场景
场景1:数据分析工具
把数据处理脚本打包成exe,商务同事直接使用,无需懂编程。
场景2:自动化办公
批量处理Excel、Word的脚本打包后,全公司都能使用。
场景3:小游戏或工具
用Python写的小游戏,打包后分享给朋友体验。
今日技术总结:
使用py2exe打包Python程序,就像给程序穿上"独立外衣",让它不再依赖Python环境。从安装到打包成功,只需10分钟!
动手试试吧! 把你最得意的Python程序打包成exe,体验专业软件开发的成就感!

