👉 项目官网:https://www.python-office.com/ 👈
👉 本开源项目的交流群 👈
大家好,这里是程序员晚枫,全网同名。
(对应图中 2.1 → 2.4 的完整闭环)
开场 30 秒
“打包失败 90 % 都是环境没搭对。”
本讲 10 分钟带你一次性把 Python、虚拟环境、pyinstaller 统统装好,并跑通第一个 Hello World 可执行文件。
2.1 安装 Python 与虚拟环境(2 min)
平台 | 推荐方式 | 一键指令 |
---|---|---|
Windows | 官方安装包 / WinGet | winget install Python.Python.3.11 (勾选 Add to PATH) |
macOS | Homebrew | brew install python@3.11 |
Linux | 系统包管理器 | sudo apt install python3.11 python3.11-venv |
创建并激活虚拟环境(通用模板)
1 | # 建文件夹 |
提示符出现 (venv)
或 (pyi)
即成功。
2.2 安装 pyinstaller 及版本选择(1 min)
渠道 | 命令 | 场景 |
---|---|---|
pip(官方源) | pip install -U "pyinstaller>=6,<7" |
通用、可指定版本 |
pip(清华镜像) | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller |
国内加速 |
conda-forge | conda install -c conda-forge pyinstaller |
已用 conda 管理环境 |
验证
1 | pyinstaller --version # ≥ 6.8 即可 |
2.3 30 秒打包 Hello World(2 min)
新建脚本
1
2
3
4
5# hello.py
import platform, sys
print("Hello pyinstaller!")
print(f"Python {sys.version.split()[0]} on {platform.system()}")
input("Press Enter to exit...")一行命令
1
pyinstaller --onefile hello.py
终端出现
1
... completed successfully.
即完成。
目录速览
1
2
3
4
5
6pyi-lab/
├─ hello.py
├─ venv/
├─ build/ # 中间缓存
├─ dist/hello.exe # Windows
└─ dist/hello # macOS / Linux
2.4 第一次运行:常见报错速查表(5 min)
现象 | 根因 | 现场修复 |
---|---|---|
pyinstaller 不是内部或外部命令 |
虚拟环境未激活 | 确认终端前缀有 (venv) 或 (pyi) |
双击 exe 闪退 | 没加 input() 看不到报错 |
临时加 input() 或 pause |
防病毒报毒 | pyinstaller bootloader 被误杀 | 把 dist/ 加入白名单,或用 --upx-exclude 关闭 UPX |
体积 50 MB+ | 包含完整 Python 运行时 | 正常,第 7 讲再瘦身 |
Linux 报 error while loading shared libraries: libpython3.11.so.1.0 |
动态链接库缺失 | 打包时加 --static-libpython |
现场演示一次“闪退 → 加 pause → 看到正常输出”的全过程,给观众信心。
小结 & 作业(30 秒)
✅ 你已会:
• 用 venv/conda 建立干净环境
• 一条命令生成独立可执行文件
🎯 作业
- 用 conda 再建一个环境,重复打包。
- 把脚本改成
import requests
并打包,观察体积变化。