【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

在 WSL 中通过 VSCode/Cursor+Cond 虚拟环境运行 Python 代码 全教程

在 WSL 中通过 VSCode/Cursor+Cond 虚拟环境运行 Python 代码 全教程 本文基于你已安装 WSL的前提,重点讲解「WSL 中安装 Miniconda→创建 Python 虚拟环境→VSCode/Cursor 连接 WSL 并使用 conda 环境运行代码」的完整流程,步骤精准可落地。 一、核心前提 * 已启用 WSL2(Ubuntu/Debian 等发行版),且能正常启动终端; * Windows 端已安装 VSCode/Cursor(建议最新版本); * 网络通畅(需下载 Miniconda 和 Python 包)。 二、步骤 1:

By Ne0inhk
Python 流程控制完全指南:条件语句 + 循环语句 + 实战案例(零基础入门)

Python 流程控制完全指南:条件语句 + 循环语句 + 实战案例(零基础入门)

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 顺序语句:基础执行语句 * 二. 条件语句:实现 “如果… 否则…” 逻辑 * 2.1 核心语法格式 * 2.2 关键注意点 * 2.3 空语句 pass:占位符作用 * 2.4 练习题 * 三. 循环语句:实现 “重复执行” 逻辑 * 3.1 while 循环:条件满足就一直执行 * 3.2 for 循环:

By Ne0inhk

如何在 Mac 上安装 Python

所有最新的 MacOS(从 macOS 12.3 开始)都预装了 Python 版本(通常是 Python 2.x),但它已经过时并且不再受支持。要充分利用 Python 的功能,您需要安装 最新版本的 Python 。 本文提供了 分步教程 ,展示了 在 macOS (MacBook 旧版本和新版本,如 M1、M2、M3 或 M4)上安装和更新 Python 的所有有效方法,从检查预安装版本到下载和更新最新的 Python 并设置基本工具(如 IDE 和 包管理器) ,本指南将帮助您轻松地在任何 MacBook 设备上安装 Python。 先决条件 正在运行MacOS的笔记本电脑。

By Ne0inhk
【笔记】在 Windows 上安装 Python-vLLM

【笔记】在 Windows 上安装 Python-vLLM

SystemPanic/vllm-windows:用于 LLM(Windows 构建和内核)的高吞吐量和内存效率推理和服务引擎 在 Windows 上安装 vLLM 有两种方式,分别是通过已发布的 wheel 包安装和从源码构建安装,具体步骤如下: 一、通过现有发布的 wheel 包安装(推荐) 发布 v0.11.0 ·SystemPanic/vllm-windows vllm-0.11.0+cu124-cp312-cp312-win_amd64.whl 1. 确认版本兼容性 确保你的 Python、PyTorch 和 CUDA 版本与 wheel 包要求一致(版本信息会在发布版本中注明)。 2. 下载 wheel 包 从 最新发布页面

By Ne0inhk