【Python】6 种方法轻松将 Python 脚本打包成 EXE 应用

以下是 2025–2026 年最实用的 6 种 Python 脚本打包成 Windows EXE 可执行文件 的主流方法,按易用性 × 普及度 × 实际场景排序。

排名方法/工具易用性生成文件大小启动速度运行速度反编译难度典型场景推荐指数 (★5)
1PyInstaller★★★★★大(onefile 常 50–300MB)慢(几秒~几十秒)普通绝大多数 GUI、小工具、初次尝试★★★★★
2auto-py-to-exe★★★★★同 PyInstaller同上普通零基础用户、GUI 操作打包★★★★☆
3Nuitka★★★★☆中~小明显更快(1.5–4×)中~高性能敏感、数值计算、想保护代码★★★★☆
4cx_Freeze★★★★较快普通低~中追求启动快、跨平台、自定义 setup.py★★★☆☆
5PyOxidizer★★☆☆☆小~中非常快普通~快中~高极致体积/启动速度、Rust 爱好者★★☆☆☆
6Shiv / PEX★★★小(.pyz)普通普通内部工具分发、需要 Python 环境★★☆☆☆

1. PyInstaller(目前最推荐的起点)

最成熟、兼容性最好、社区最大。

# 安装 pip install pyinstaller # 最常用单文件模式(推荐) pyinstaller -F --noconsole your_script.py # 带图标 + 隐藏控制台 + 加数据文件 pyinstaller -F --noconsole --icon=app.ico \ --add-data "images;images"\ --add-data "config.json;."\ --name "MyTool" your_script.py # 调试时先用文件夹模式找问题 pyinstaller -D your_script.py 

常见问题解决

  • 缺少模块 → --hidden-import=numpy.core._methods
  • 数据文件丢失 → --add-data 或修改 .spec 文件
  • 杀毒误报 → 用 --onedir 模式,或提交样本给杀软厂商

2. auto-py-to-exe(图形界面,最适合新手)

本质是 PyInstaller 的 GUI 封装。

pip install auto-py-to-exe auto-py-to-exe 

优点:点点鼠标就能出 exe,适合演示、快速交付给非技术用户。

缺点:Python 3.11+ 有时兼容性问题,建议用 3.9 或 3.10。

3. Nuitka(追求速度与保护代码的首选)

真正把 Python 转成 C → 编译成原生可执行文件。

# 安装(需要 C 编译器:MSVC / MinGW) pip install nuitka # 推荐写法(单文件 + 插件) python -m nuitka --standalone --onefile \ --enable-plugin=tk-inter \ --windows-disable-console \ --windows-icon-from-ico=app.ico \ --include-data-dir=assets=assets \ your_script.py 

2025–2026 亮点

  • 运行速度可达 CPython 的 2–4 倍(尤其 numpy/pandas/torch 代码)
  • 反编译难度明显高于 PyInstaller
  • 启动速度通常比 PyInstaller 快很多

缺点:打包时间长(复杂项目可能几分钟到十几分钟)。

4. cx_Freeze(启动快、体积相对友好)

pip install cx-freeze # 创建 setup.py from cx_Freeze import setup, Executable setup(name="MyApp", version="1.0", executables=[Executable("main.py", base="Win32GUI")], options={"build_exe":{"packages":["numpy", "pandas"], "include_files":["config.json", "images/"], "excludes":["tkinter"]# 如不需要}})# 打包 python setup.py build # 或直接生成单文件(需额外配置)

优点:启动比 PyInstaller 快很多,目录结构清晰。

缺点:配置比 PyInstaller 稍麻烦。

5. PyOxidizer(极致启动速度 + 小体积)

Rust 编写,嵌入式 Python 解释器。

目前(2026)更适合有 Rust 经验的开发者,或对启动时间、体积有极端要求的企业项目。

# pyoxidizer.bzl 配置示例(简化) [[python_distribution]] name = "embedded" python_exe = "python.exe" [[exe]] name = "myapp" script = "main.py" 

优点:启动极快、内存占用低、可做到较小单文件。

缺点:学习曲线陡峭,生态远不如 PyInstaller。

6. Shiv / PEX(.pyz 格式,需目标机器有 Python)

不是真正的 exe,但可以作为补充方案。

pip install shiv shiv -c myapp -o myapp.pyz .

优点:文件很小,跨平台。

缺点:目标机器必须安装 Python。

快速选择指南(2026 视角)

你想要什么推荐工具顺序
最简单、最快上手auto-py-to-exe → PyInstaller
GUI 程序、给普通人用PyInstaller + --noconsole --onefile
性能敏感、数值/AI 类程序Nuitka(–onefile)
启动时间敏感cx_Freeze 或 Nuitka
极致体积 + 启动速度PyOxidizer 或 Nuitka
内部工具、服务器分发Shiv / PEX

最推荐的入门组合(2026)

  1. 先用 auto-py-to-exe 快速出第一个 exe
  2. 遇到问题后转 PyInstaller 命令行精细控制
  3. 如果对速度/保护有要求 → 切换 Nuitka

有具体项目类型(GUI、命令行、带 numpy/pandas、带 PyQt/tkinter、pygame 等)可以告诉我,我可以给出更精确的打包参数和常见坑的解决方案~

Read more

Git BASH安装教程

什么是 Git Bash? 简单来说,Git Bash 是为 Windows 系统提供的模拟 Linux 风格的 Bash 命令行环境,主要用于运行 Git 命令。Bash 是 Linux 和 macOS 用户常用的命令行工具,而 Windows 自带的命令提示符与它不兼容。因此,Git for Windows 软件包中包含了 Git Bash,让你可以在 Windows 上使用熟悉的 Bash 语法来操作 Git 和进行文件管理 第一步:下载 Git for Windows Git Bash 是 Git for Windows

By Ne0inhk
{宇}柯南同款, 全自研高速电动滑板开源! STM32项目|宇的DIY#1

{宇}柯南同款, 全自研高速电动滑板开源! STM32项目|宇的DIY#1

开源文档原文:https://shouchenyu.feishu.cn/wiki/PxnSwaRRRixkaokr8oBcpYotnyb B站视频项目介绍链接:https://www.bilibili.com/video/BV1cr2sBsEsF/ 立创开源硬件平台:https://oshwhub.com/shouchenyu/conan-with-the-full-self-develop 现已开始更新电动滑板各个模块详细教学,移步守辰宇B站主页即可查看最新视频! 立创开源硬件平台官方公众号推文:https://mp.weixin.qq.com/s/RsQGZqsOtaHpAqjfm9CHLQ * 建议复刻此项目前,先学习基础的嵌入式入门知识: * 编译下载代码:STM32课程https://www.bilibili.com/video/BV11C411h79W/ * PCB电路板导出与下单:嘉立创PCB课程https://www.bilibili.com/video/BV1bj4bzEEQQ/ * PCB元件焊接:插件焊接https://www.b

By Ne0inhk

璀璨星河使用技巧:如何优化AI绘画提示词

璀璨星河使用技巧:如何优化AI绘画提示词 "我梦见了画,然后画下了梦。" —— 文森特 · 梵高 1. 引言:为什么提示词如此重要? 在AI绘画的世界里,提示词就是你的画笔和颜料。璀璨星河(Starry Night)作为一款高端AI艺术生成工具,虽然拥有强大的Kook Zimage Turbo幻想引擎,但最终作品的惊艳程度很大程度上取决于你如何用文字描述心中的画面。 很多用户在使用璀璨星河时都有一个共同的困惑:为什么同样的模型,别人能生成惊艳的艺术作品,而我的结果却平平无奇?答案往往就藏在提示词的优化技巧中。本文将带你深入了解如何通过优化提示词,让璀璨星河真正成为你手中的魔法画笔。 2. 理解璀璨星河的提示词处理机制 2.1 自动翻译功能的妙用 璀璨星河内置了Deep Translator模块,这是一个非常重要的特性。当你输入中文描述时,系统会自动将其转换为专业级的艺术英文提示词。这个功能极大降低了创作门槛,但同时也需要你了解其工作原理: * 中文到英文的精准转换:系统会将你的中文描述转化为AI模型更容易理解的英文艺术术语 * 艺术术语优化:自动添加合适的风格描

By Ne0inhk

FPGA中XDMA多通道传输架构:全面讲解

FPGA中XDMA多通道传输架构:实战解析与工程优化 从一个真实问题说起:为什么我的FPGA数据传不快? 你有没有遇到过这样的场景: FPGA采集了一路4K视频流,每秒要往主机内存送超过1.5GB的数据;同时还要接收来自CPU的控制指令,比如调整曝光、切换模式。结果发现—— 视频帧延迟越来越高,控制命令还经常丢包 。 查PCIe带宽?没问题,Gen3 x8理论有7.8 GB/s,远超需求。 看CPU负载?也不高,不到20%。 那问题出在哪? 答案往往是: 数据通路设计不合理,没有用好XDMA的多通道能力 。 很多工程师把所有数据都塞进一个H2C或C2H通道里,导致高优先级的控制流被大块数据“堵”在后面。这就像让救护车和货车挤同一条车道,再宽的马路也会瘫痪。 本文将带你深入Xilinx XDMA(Xilinx Direct Memory Access)IP核的多通道机制,不仅讲清楚“它是怎么工作的”,更聚焦于 如何在实际项目中高效使用它 ——从寄存器配置到软件编程,从性能调优到常见坑点,全部基于一线开发经验展开。 XDMA是什么?

By Ne0inhk