如何将含图片依赖与第三方库的Python文件打包为EXE程序
打包带图标和依赖的Tkinter程序为独立EXE
1. 调整代码路径(关键步骤)
先把所有图标文件和你的Python脚本放到同一个目录下,然后修改代码里的绝对路径为相对路径,避免打包后找不到资源:
import tkinter as tk from tkinter import PhotoImage import os # 获取脚本所在的目录路径 base_dir = os.path.dirname(os.path.abspath(__file__)) root = tk.Tk() img = PhotoImage(file=os.path.join(base_dir, 'monitor.png')) root.tk.call('wm', 'iconphoto', root._w, img) root.title('Screen Recorder') root.geometry('+260+70') root.resizable(width=False,height=False) st_icon = PhotoImage(file=os.path.join(base_dir, 'rec.png')) sp_icon = PhotoImage(file=os.path.join(base_dir, 'stop.png')) cam_icon = PhotoImage(file=os.path.join(base_dir, 'webcam0.png')) com_icon = PhotoImage(file=os.path.join(base_dir, 'webcam1.png')) shot = PhotoImage(file=os.path.join(base_dir, 'screenshot.png')) # 你的后续程序逻辑... root.mainloop()
2. 安装打包工具
打开命令行,执行以下命令安装PyInstaller:
pip install pyinstaller
3. 执行打包命令
在脚本所在目录的命令行中,运行这条打包指令:
pyinstaller --onefile --windowed --add-data "monitor.png;." --add-data "rec.png;." --add-data "stop.png;." --add-data "webcam0.png;." --add-data "webcam1.png;." --add-data "screenshot.png;." 你的脚本文件名.py
参数说明:
--onefile:将所有依赖打包成单个EXE文件--windowed:GUI程序专用,避免运行时弹出命令行窗口--add-data:将图标文件嵌入打包资源,Windows系统用;分隔路径,macOS/Linux替换为:
如果需要给生成的EXE设置专属图标(可选),可以额外添加--icon=你的图标文件.ico(需先把PNG转成ICO格式)。
4. 获取最终可执行文件
打包完成后,当前目录会生成dist文件夹,里面的EXE文件就是可以直接分发的独立程序,任何人无需安装依赖库就能运行。
内容的提问来源于stack exchange,提问作者arvind8
相关产品推荐
相关产品推荐

