Python 代码打包为 EXE 完全指南
Python 代码打包为 exe 完全指南2025–2026 年最新实用版目前最主流、最稳定的几种打包方式对比按推荐顺序排名工具优点缺点/坑点适合场景推荐指数 (2026)1PyInstaller兼容性最好、社区最大、文档最全生成的 exe 偏大、启动稍慢几乎所有场景首选★★★★★2Nuitka启动速度最快、文件体积较小、接近原生性能编译时间长、对依赖处理更严格对启动速度敏感的项目★★★★☆3cx_Freeze跨平台支持好、配置灵活社区活跃度低、文档较老需要高度自定义打包逻辑★★★☆☆4PyOxidizer极致体积优化、Rust 底层配置复杂、生态不成熟极致追求小体积的场景★★☆☆☆5Shiv / PEX生成 .pex 文件类似 jar不生成 exe需要 Python 环境才能运行服务器/内部工具分发非桌面程序★★☆☆☆绝大多数人尤其是 Windows 桌面程序2026 年仍然首选PyInstaller下面给出最实操的完整流程以 PyInstaller 为主附 Nuitka 补充。一、PyInstaller 完整打包流程推荐步骤 1环境准备# 建议使用干净的虚拟环境python -m venv pack-env# Windowspack-env\Scripts\activate# macOS/Linuxsourcepack-env/bin/activate# 安装最新版2026 年建议 ≥ 6.0pipinstall--upgrade pyinstaller步骤 2写一个最简单的测试程序main.py# main.pyimportsysimporttkinterastkfromtkinterimportmessageboxdefmain():roottk.Tk()root.title(我的第一个打包程序)root.geometry(400x300)labeltk.Label(root,textHello from EXE!,font(微软雅黑,16))label.pack(pady50)btntk.Button(root,text点我,commandlambda:messagebox.showinfo(提示,打包成功))btn.pack()root.mainloop()if__name____main__:main()步骤 3第一次打包最简单方式# 单文件模式推荐给新手pyinstaller -F main.py# 常用参数组合强烈推荐pyinstaller -F\--noconfirm\--clean\--windowed\# 无控制台窗口GUI程序必加--iconapp.ico\# 可选自定义图标--nameMyNoteApp\# exe 文件名--add-datadata;data\# 如果有资源文件夹注意分号是 Windows 用Linux/macOS 用冒号main.py打包完成后文件出现在dist/ └── MyNoteApp.exe ← 这就是最终的 exe步骤 4常见问题 解决方案2026 年高频坑问题原因解决方案最有效写法exe 启动闪退缺少依赖 / 路径错误加--log-levelDEBUG看日志或用--onedir先测试第三方库如 pandas、pytorch打包失败hook 不全pip install pyinstaller-hooks-contrib必要时手动写 .spec 文件中文路径/文件名乱码编码问题脚本保存为 UTF-8打包时加--utf8较新版本支持exe 体积过大100MB打包了整个 site-packages用--exclude-module排除无用模块用 UPX 压缩--upx-dir杀毒软件报毒特征码误杀正常现象用--noupx关闭压缩或提交文件给杀毒厂商白名单tkinter / PyQt 等 GUI 黑屏/不显示缺少资源加--add-data tcl;tcl和--add-data tk;tktkinter 常见步骤 5推荐的完整 .spec 文件写法进阶# myapp.spec# 运行一次 pyinstaller main.py 后会自动生成 .spec 文件修改后用下面命令重新打包# pyinstaller myapp.specblock_cipherNoneaAnalysis([main.py],pathex[],binaries[],datas[(images/*,images),(config.yaml,.)],hiddenimports[PIL._tkinter_finder],# tkinter pillow 常见补丁hookspath[],hooksconfig{},runtime_hooks[],excludes[torch,tensorflow],# 排除掉不需要的重量级库win_no_prefer_redirectsFalse,win_private_assembliesFalse,cipherblock_cipher,)pyzPYZ(a.pure,a.zipped_data,cipherblock_cipher)exeEXE(pyz,a.scripts,a.binaries,a.zipfiles,a.datas,[],name我的记事本,debugFalse,bootloader_ignore_signalsFalse,stripFalse,upxTrue,# 需要先安装 UPXconsoleFalse,# GUI 程序设为 Falsedisable_windowed_tracebackFalse,argv_emulationFalse,target_archNone,codesign_identityNone,entitlements_fileNone,iconapp.ico,)二、Nuitka 快速补充追求速度时用pipinstallnuitka# 最常用命令单文件 优化python -m nuitka\--standalone\--onefile\--windows-disable-console\--include-package-datatkinter\--windows-icon-from-icoapp.ico\--output-dirdist\main.pyNuitka vs PyInstaller 启动速度对比实测平均值2026 年数据PyInstaller 单文件启动 3–8 秒Nuitka 单文件启动 0.5–2 秒明显更快三、2026 年最务实建议总结需求推荐工具一句话命令建议最简单、最稳PyInstallerpyinstaller -F --windowed --nameMyApp main.py启动速度最重要Nuitkapython -m nuitka --onefile --windows-disable-console main.py体积最小Nuitka UPX加--enable-pluginupx有大量第三方库pandas等PyInstaller先用--onedir测试再转单文件需要开控制台命令行工具PyInstaller去掉--windowed/--noconsole需要我帮你针对某个具体项目比如带 pandas、带 tkinter、带 requests、带 PyQt6 等写出最优的打包命令吗或者你现在遇到什么打包报错/闪退问题直接贴出来我帮你分析。

相关新闻

大模型重塑垂直软件行业(非常详细),商业护城河演变逻辑从入门到精通,收藏这一篇就够了!

大模型重塑垂直软件行业(非常详细),商业护城河演变逻辑从入门到精通,收藏这一篇就够了!

摘要 近万亿美元市值蒸发,垂直软件十大护城河遭LLM冲击,行业格局正在重构。 正文 引言:万亿美元的市场震荡 过去几周,软件和服务类股票市值蒸发近1万亿美元。FactSet从200亿美元的峰值跌至不足80亿美元,标普全球(S&P Global)数周内下跌30%,汤森路透(Thomson Reuters)一年…

2026/7/6 15:28:29 阅读更多 →
【Kafka进阶篇】从原理到实战:Controller与选举机制,搞定Broker集群一致性

【Kafka进阶篇】从原理到实战:Controller与选举机制,搞定Broker集群一致性

🍃 予枫:个人主页📚 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》💻 Debug 这个世界,Return 更好的自己! 引言 做分布式Broker集群开发或运维的同学,大概率踩过这些坑:集…

2026/5/17 6:29:21 阅读更多 →
GDPR vs 大数据:隐私保护与数据价值的平衡之道

GDPR vs 大数据:隐私保护与数据价值的平衡之道

GDPR vs 大数据:隐私保护与数据价值的平衡之道关键词:GDPR;大数据;隐私保护;差分隐私;匿名化;数据生命周期;联邦学习 摘要:当妈妈买了一次婴儿奶粉后,手机里的…

2026/7/3 20:08:48 阅读更多 →

最新新闻

远程协助软件推荐 远程协助软件哪个好

远程协助软件推荐 远程协助软件哪个好

日常帮亲友排查设备故障、异地处理工作难题,都需要靠谱的远程协助,便捷高效的远程协助能大幅降低跨设备、跨地域的操作成本。哪款远程协助软件体验比较呢?无界趣连2.0凭借轻量化设计与扎实的使用体验,成为个人日常远程协助的优选工…

2026/7/7 4:55:49 阅读更多 →
AD15 敷铜(Polygon Pour) 的完整操作,按步骤做即可,适合顶层/底层GND或电源敷铜。

AD15 敷铜(Polygon Pour) 的完整操作,按步骤做即可,适合顶层/底层GND或电源敷铜。

一、准备工作- 确保 板框(Board Shape) 已画好(机械层 Mechanical 1)。​- 布局、走线基本完成,DRC 先过一遍。​- 切换到要敷铜的层:底部层标签点 Top Layer(顶层) 或 Bottom Layer…

2026/7/7 4:55:49 阅读更多 →
NET 10:Oxigraph 的 FFI 桥接实践

NET 10:Oxigraph 的 FFI 桥接实践

架构概览┌──────────────────────────────────────────────────────────┐ │ .NET 应用层 │ │ ┌──────────┐ ┌────────────────…

2026/7/7 4:55:49 阅读更多 →
从静态限流到智能负载管理:Uber 如何治理大规模数据库过载

从静态限流到智能负载管理:Uber 如何治理大规模数据库过载

本文是对 How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management 的整理与翻译。 内容结构概览 本文会围绕 Uber 如何从静态限流走向智能负载管理展开,主要包括: 为什么 Uber 的数据库过载治理…

2026/7/7 4:47:48 阅读更多 →
Uber 如何用原生 gRPC 加速 OpenSearch:从 REST/JSON 瓶颈到搜索与写入性能优化

Uber 如何用原生 gRPC 加速 OpenSearch:从 REST/JSON 瓶颈到搜索与写入性能优化

本文是对 Accelerating Search and Inestion with High-Performance gRPC™ in OpenSearch™ 的整理与翻译。 内容结构概览 本文会围绕 Uber 如何在 OpenSearch 中引入原生 gRPC 传输层展开,主要包括: 为什么搜索系统在 Uber 几乎无处不在REST/JSON 在…

2026/7/7 4:47:48 阅读更多 →
CRM管理系统有哪些?2026年高性价比选型指南

CRM管理系统有哪些?2026年高性价比选型指南

很多企业在挑选 CRM 时,习惯先看每家的报价单,比完单价比折扣,最后选一个 "看起来最便宜" 的方案。但我们接触过的大量真实案例显示:约 60% 的企业在 CRM 上线后的第三年,实际支出会超出最初预算的 40% 以上…

2026/7/7 4:45:48 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻