你是否写了一个超实用的 Python 小工具,却苦于别人没有 Python 环境无法运行?
你是否想把自动化脚本、数据处理程序或小游戏分享给同事朋友,但对方连 pip install 都不会?
别担心!今天教你用 PyInstaller —— 最流行的 Python 打包工具,一键将 .py 文件变成 .exe,双击就能运行,无需安装 Python!
🔧 一、准备工作
确保你已安装 Python(推荐 3.7+),然后在命令行中安装 PyInstaller:
pip install pyinstaller
💡 建议在虚拟环境中操作,避免依赖污染:
python -m venv pack_env pack_env\Scripts\activate # Windows pip install pyinstaller
📦 二、基础打包命令
假设你的主程序是 main.py,进入该文件所在目录,执行:
✅ 1. 最简打包(带控制台)
pyinstaller main.py
- 生成的程序在
dist/main/目录下。 - 适合有
print输出或命令行交互的程序。
✅ 2. 打包成单个 exe 文件(推荐!)
pyinstaller --onefile main.py
- 所有依赖打包进 一个
.exe文件,方便分发。 - ⚠️ 首次启动稍慢(需解压到临时目录)。
✅ 3. 隐藏黑窗口(GUI 程序必备)
如果你用的是 Tkinter、PyQt、PyGame 等图形界面,加上 --noconsole:
pyinstaller --onefile --noconsole main.py
✅ 4. 添加自定义图标(提升专业感)
准备一个 icon.ico 图标文件,然后:
pyinstaller --onefile --noconsole --icon=icon.ico main.py
🛠️ 三、进阶技巧:包含资源文件
如果你的程序依赖配置文件、图片、模板等(如 config.json、templates/ 文件夹),必须显式告诉 PyInstaller:
pyinstaller --onefile --noconsole \
--add-data "config.json;." \
--add-data "templates;templates" \
main.py
🔔 注意:Windows 用分号
;分隔源路径和目标路径,Linux/macOS 用冒号:。
❌ 四、常见问题 & 避坑指南
| 问题 | 解决方案 |
|---|---|
| 双击 exe 闪退 | 先用 --console 模式打包,看报错信息;检查是否缺少文件或模块 |
| 杀毒软件报毒 | PyInstaller 打包行为易被误判,可加 --noupx 关闭压缩,或提交白名单 |
| 体积太大(100MB+) | 使用 --exclude-module 模块名 排除无用依赖,或考虑 Nuitka(编译型) |
| 找不到 Playwright / Selenium 驱动 | 这些工具需额外处理,建议使用 --collect-all playwright 或手动复制驱动 |
🎁 五、懒人福音:图形化工具(可选)
不想记命令?试试 auto-py-to-exe:
pip install auto-py-to-exe
auto-py-to-exe
会自动打开一个网页界面,点点鼠标就能打包!
✅ 总结
| 场景 | 推荐命令 |
|---|---|
| 命令行工具 | pyinstaller --onefile your_script.py |
| 图形界面程序 | pyinstaller --onefile --noconsole your_gui.py |
| 带资源文件 | 加上 --add-data "源;目标" |
| 快速体验 | 用 auto-py-to-exe 图形界面 |
📌 最终产物:
dist/your_script.exe—— 发给别人,双击即用!
9794

被折叠的 条评论
为什么被折叠?



