
1 详细需求Windows系统需要打包exe界面不复杂。2 方案针对你Windows 平台 打包 exe 界面不复杂的需求最稳妥、省心的方案是Tkinter PyInstaller。如果希望界面稍微现代一点可以用CustomTkinter但打包时要多注意一个细节。2.1 方案对比方案安装包打包难度exe 体积界面美观度商用授权Tkinter无需安装Python 自带⭐ 最简单约 10-15 MB基础无限制CustomTkinterpip install customtkinter⭐⭐ 需手动加--add-data约 15-25 MB现代无限制PySide6pip install PySide6⭐⭐⭐ 需处理 Qt 插件约 35-60 MB专业LGPL可闭源商用对于“界面不复杂”的场景Tkinter 和 CustomTkinter 完全够用没必要为了简单界面引入体积庞大的 Qt 框架。2.2✅ 推荐方案Tkinter PyInstaller最省事安装清单只有两个包pipinstallpyinstaller pillowpyinstaller打包工具。pillow处理图标等图片资源可选。打包命令单文件 无控制台pyinstaller--onefile--noconsole--iconapp.ico your_app.py--onefile生成单个 exe。--noconsoleGUI 程序专用不弹出黑色命令行窗口。--icon设置 exe 图标。关于“单文件”的取舍--onefile生成的是单个 exe分发方便但启动时会先把内容解压到临时目录启动速度会比--onedir慢 1-3 秒。如果不介意分发一个文件夹用--onedir启动会快很多0.5-1.2 秒左右。对于界面简单的工具--onefile的启动延迟通常可以接受。2.3 备选方案CustomTkinter界面更现代CustomTkinter 基于 TkinterAPI 几乎一样但外观更现代。打包时有一个必须注意的坑它包含了.json、.otf等数据文件PyInstaller 不会自动打包不能用--onefile必须用--onedir并手动添加数据目录。打包命令示例pip show customtkinter# 先找到库的安装路径pyinstaller--onedir--noconsole\--add-dataC:/.../site-packages/customtkinter;customtkinter/\your_app.py把pip show显示的 Location 路径拼到--add-data里。不这样做的话运行时会出现FileNotFoundError: theme.json之类的错误。2.4⚠️ 如果考虑 PySide6LGPL 合规打包提醒如果你之后因为功能需要转向 PySide6需要注意用--onefile打包 PySide6 应用可能不符合 LGPL 的“允许用户替换库”要求因为单文件把所有内容都内嵌死了。合规的做法是使用--onedir让 PySide6 作为独立的.dll文件存在于目录中用户理论上可以替换它们。如果你的应用只是内部使用或不分发合规压力会小很多但如果是正式对外发布的闭源商业软件建议用--onedir并附上 LGPL 声明。2.5 总结你的需求下直接pip install pyinstaller pillow用 Tkinter 写界面--onefile --noconsole打包就是最精简、最省事的路径。整个过程不需要额外安装 GUI 框架打包体积也最小。3 离线安装pyinstaller还需要在这之前安装什么插件离线安装 PyInstaller核心是提前准备好它本身以及所有它依赖的 Python 包。最省心的方法是在一台有网络的电脑上用pip download把所有东西一次性下载好再拷到离线电脑上安装。3.1 依赖清单需要准备哪些包在 Windows 系统下PyInstaller 的核心依赖通常包括以下几类依赖包作用setuptools用于构建和安装 Python 包的基础工具altgraph用于创建和解析程序集Windows 平台必需pefile用于解析 Windows PE 文件格式Windows 平台必需pywin32-ctypes提供对 Windows API 的访问Windows 平台必需packaging用于处理版本号和依赖关系pyinstaller-hooks-contribPyInstaller 的官方 hooks 集合用于处理各种第三方库|importlib-metadata| 为 Python 3.10 提供importlib.metadata功能 ||macholib| 仅在 macOS 平台需要Windows 下无需下载 |注意如果你使用的是 Python 3.10 或更高版本importlib-metadata通常不是必需的macholib也只在 macOS 下需要。3.2 第一步在有网络的电脑上下载所有包在一台能联网的 Windows 电脑上Python 版本需与离线电脑一致打开命令提示符执行以下命令将所有依赖包下载到C:\pyinstaller_offline文件夹中pip download pyinstaller-dC:\pyinstaller_offline这条命令会自动解析 PyInstaller 的全部依赖并把它们连同 PyInstaller 本身一起下载到指定目录。下载完成后C:\pyinstaller_offline文件夹里会包含多个.whl文件。3.3 第二步在离线电脑上安装将C:\pyinstaller_offline文件夹整体拷贝到离线电脑上例如放到D:\offline_packages然后在离线电脑的命令提示符中执行pipinstall--no-index --find-linksD:\offline_packages pyinstaller这条命令告诉pip不要联网--no-index从本地文件夹找包--find-links并安装 PyInstaller。pip会自动从该文件夹中解析并安装所有需要的依赖。3.3⚠️ 可能遇到的特殊情况如果离线环境安装时提示缺少future包某些旧版本的 PyInstaller 在 Windows 上还依赖future包。你可以在第一步的下载命令中额外加上它pip download pyinstaller future-dC:\pyinstaller_offline如果下载时提示pip版本过旧先在有网电脑上更新pippython-mpipinstall--upgradepip如果直接安装 PyInstaller 的.whl文件报错确保你下载的是与离线电脑Python 版本和操作系统位数如win_amd64完全匹配的.whl文件。如果版本不匹配可以尝试下载源码包.tar.gz并在离线电脑上通过pip install ./包名.tar.gz安装。3.4✅ 验证安装安装完成后在离线电脑的命令提示符(非管理员身份中运行python-mPyInstaller--version如果能正常显示版本号就说明 PyInstaller 及其所有依赖都已成功安装可以开始打包你的 exe 了。