尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何将 Python-GUI-Project 打包成独立应用:PyInstaller 跨平台部署完整教程

如何将 Python-GUI-Project 打包成独立应用:PyInstaller 跨平台部署完整教程 如何将 Python-GUI-Project 打包成独立应用PyInstaller 跨平台部署完整教程【免费下载链接】Python-GUI-ProjectA Repositry that contains 20 GUI Projects on python Tkinter项目地址: https://gitcode.com/gh_mirrors/py/Python-GUI-ProjectPython-GUI-Project 是一个收录了 20 多个 Tkinter 图形界面程序的开源仓库包含计算器、记事本、天气查询、账单系统等实用小工具。本文是一份面向新手的完整指南教你用 PyInstaller 把这些 Python Tkinter 应用打包成 Windows / macOS / Linux 免安装的独立应用——目标电脑无需安装 Python 环境双击即可运行。一、为什么要把 Tkinter 应用打包成独立应用仓库中的每个项目都基于统一的import tkinter技术栈源码运行前需要在目标电脑装好 Python 和一堆第三方库PIL、pytube、requests 等。而 PyInstaller 会把 Python 解释器、依赖库、资源文件一起打进单个可执行文件Windows→ 得到.exe文件macOS→ 得到.app应用Linux→ 得到无后缀的可执行程序适合把小工具直接发给不会编程的朋友使用。下图就是仓库中Billing System/billing_system.py打包后在 Windows 上独立运行的账单软件界面Python-GUI-Project 打包成独立应用Billing System 账单系统软件运行界面二、准备工作获取 Python-GUI-Project 源码并安装 PyInstaller# 克隆项目源码 git clone https://gitcode.com/gh_mirrors/py/Python-GUI-Project cd Python-GUI-Project # 安装打包工具 pip install pyinstaller # 按目标程序补充第三方依赖以新闻头条为例 pip install Pillow requests黄金法则先用python xxx.py确认源码能正常运行再开始打包。PyInstaller 只解决分发问题不会修复代码本身的报错。三、最快上手一行命令打包计算器选择只依赖标准库tkinter的 calculator/tk-calculator.py 作为第一个打包对象一条命令搞定pyinstaller -F -w -n MyCalculator calculator/tk-calculator.py参数速查表参数作用-F打包为单个可执行文件-w运行时不弹出黑色控制台窗口GUI 程序必加-n指定输出文件名-i指定应用图标如notepad.ico打包完成后到dist/目录找到MyCalculator可执行文件双击即可运行 ✅四、进阶带图片资源的程序要用 --add-data 声明像 Instant News Headlines (Tkinter NewsApi)/main.py/main.py) 会加载本地背景图Advance Youtube Downloader/yt-downloader.py也依赖youtube.png作为 logo。这类资源文件不会自动打进包里必须显式声明。下图即新闻头条程序加载的本地背景素材打包时就是它需要被--add-data引入PyInstaller --add-data 打包资源文件示例Tkinter 新闻头条应用加载的 HOT NEWS 本地背景图/—Pngtree—vector creative hot news tag_4265321.png)Windows 下分隔符为;pyinstaller -F -w --add-data 素材路径;. main.pymacOS / Linux 下分隔符为:pyinstaller -F -w --add-data 素材路径:. main.py第三方库如Pillow、pytube、requests只需提前pip installPyInstaller 会自动扫描并收集已安装的包。五、跨平台部署三大系统差异一览表平台推荐做法产物Windows在 Windows 上执行打包dist/程序名.exemacOS在 macOS 上执行打包dist/程序名.appLinux在 Linux 上执行打包dist/程序名无后缀⚠️注意PyInstaller不支持交叉编译Windows 机器打不出 macOS 的.app。如需三平台产物请在对应系统上各执行一次同样的打包命令。六、常见问题速查打包后图片不显示源码多用os.getcwd()或相对路径读图-F单文件模式下工作目录发生了变化。可用sys._MEIPASS定位资源或把资源放到 exe 同级目录再读取。文件体积太大属正常现象解释器和依赖都被打进了包内可用--exclude-module排除无关模块瘦身。杀毒软件误报PyInstaller 的 exe 偶尔被误判可改用-D目录模式或提交白名单申诉。想保留控制台调试去掉-w参数重新打包运行时可见错误输出便于定位问题。七、发布前检查清单源码本地运行正常第三方依赖齐全所有图片 / 图标 / 音频资源均已通过--add-data声明已用-i设置应用图标在目标系统的干净环境或虚拟机实测双击可运行关键功能已实测窗口关闭、文件选择、网络请求完成以上步骤你就能把 Python-GUI-Project 里任意一个 Tkinter 小工具变成可以直接发给朋友使用的独立桌面应用 写在最后至此你已经掌握了 PyInstaller 打包 Python Tkinter 项目的完整流程——从最简单的计算器单文件打包到带资源文件的--add-data用法再到 Windows / macOS / Linux 跨平台部署差异。不妨下一步把Notepad/notepad.py或weather application/weather.py也打包成 exe 试试吧【免费下载链接】Python-GUI-ProjectA Repositry that contains 20 GUI Projects on python Tkinter项目地址: https://gitcode.com/gh_mirrors/py/Python-GUI-Project创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表