📁 项目根目录/ ├── 📄 iso_writer_final.py # 主程序文件(核心) ├── 📄 build_exe.py # 自动打包脚本 ├── 📄 bootloader_utils.py # 引导工具模块(可选) ├── 📄 pe.iso # PE工具文件(必需) ├── 📄 requirements.txt # Python依赖列表 ├── 📄 README.md # 项目说明文档 ├── 📄 打包教程.md # 详细打包教程 ├── 📄 todo.md # 开发任务清单 └── 📄 项目结构.txt # 本文件
🔥 iso_writer_final.py
- 主程序文件,包含完整的GUI界面和ISO写入功能
- 自动检测并集成同目录下的pe.iso文件
- 支持Windows、Linux、macOS跨平台运行
- 具有现代化的图形用户界面
🔧 build_exe.py
- 自动化打包脚本
- 自动检测并安装PyInstaller
- 创建打包配置文件
- 一键生成可执行文件
💾 pe.iso
- PE工具系统文件
- 程序会自动检测此文件并集成到USB中
- 如果文件不存在,程序仍可正常工作但不会集成PE功能
📋 requirements.txt
- 列出了所有Python依赖包
- 用于pip安装依赖:pip install -r requirements.txt
📖 README.md
- 完整的项目说明文档
- 包含安装、使用、故障排除等信息
📚 打包教程.md
- 详细的打包指南
- 包含自动和手动打包方法
- 故障排除和优化建议
-
开发阶段: python iso_writer_final.py
-
打包阶段: python build_exe.py
-
分发阶段: 将dist/ISO写入器.exe和pe.iso一起分发
📁 ISO写入器_v2.0/ ├── 📄 ISO写入器.exe # 主程序(必需) ├── 📄 pe.iso # PE工具(推荐) └── 📄 README.md # 使用说明(推荐)
- pe.iso文件必须与exe文件在同一目录
- 程序需要管理员权限运行
- 支持的ISO文件格式:标准ISO 9660格式
- 推荐USB设备:USB 3.0或更高版本
pyinstaller>=5.0.0
pywin32>=300; sys_platform == "win32"
pathlib2>=2.3.0; python_version < "3.4"
tqdm>=4.60.0
psutil>=5.8.0
本教程将详细指导您如何将Python源码打包成独立的exe可执行文件。
- Python 3.7 或更高版本
- Windows 操作系统(推荐Windows 10)
- 至少2GB可用磁盘空间
确保以下文件在同一目录中:
项目目录/
├── iso_writer_final.py # 主程序文件
├── build_exe.py # 自动打包脚本
├── pe.iso # PE工具文件(重要!)
├── requirements.txt # 依赖列表
└── README.md # 说明文档
打开命令提示符,检查Python版本:
python --version应该显示Python 3.7或更高版本。
- 打开命令提示符(以管理员身份运行)
- 导航到项目目录:
cd C:\path\to\your\project
- 运行自动打包脚本:
python build_exe.py
脚本会自动执行以下操作:
- ✅ 检查PyInstaller是否已安装
- 📦 自动安装PyInstaller(如果需要)
- 🔍 检查pe.iso文件
- 📝 创建打包配置文件
- 🔨 构建可执行文件
- 🧹 清理临时文件(可选)
打包成功后,您会在dist目录中找到:
dist/
└── ISO写入器.exe # 最终的可执行文件
如果自动打包失败,可以按照以下步骤手动打包:
pip install pyinstaller创建文件iso_writer.spec:
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
['iso_writer_final.py'],
pathex=[],
binaries=[],
datas=[
('pe.iso', '.'), # 重要:包含pe.iso文件
],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='ISO写入器',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False, # 不显示控制台窗口
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon='icon.ico', # 可选:自定义图标
)pyinstaller --clean iso_writer.spec- 进入
dist目录 - 以管理员身份运行
ISO写入器.exe - 测试所有功能是否正常
- 准备一个
.ico格式的图标文件 - 将图标文件命名为
icon.ico并放在项目目录中 - 重新运行打包脚本
编辑iso_writer.spec文件,在exe部分添加版本信息:
exe = EXE(
# ... 其他参数 ...
version='version_info.txt', # 版本信息文件
# ... 其他参数 ...
)创建version_info.txt文件:
VSVersionInfo(
ffi=FixedFileInfo(
filevers=(2, 0, 0, 0),
prodvers=(2, 0, 0, 0),
mask=0x3f,
flags=0x0,
OS=0x40004,
fileType=0x1,
subtype=0x0,
date=(0, 0)
),
kids=[
StringFileInfo(
[
StringTable(
u'040904B0',
[StringStruct(u'CompanyName', u'Your Company'),
StringStruct(u'FileDescription', u'专业ISO写入器'),
StringStruct(u'FileVersion', u'2.0.0.0'),
StringStruct(u'InternalName', u'ISO写入器'),
StringStruct(u'LegalCopyright', u'Copyright (C) 2025'),
StringStruct(u'OriginalFilename', u'ISO写入器.exe'),
StringStruct(u'ProductName', u'专业ISO写入器'),
StringStruct(u'ProductVersion', u'2.0.0.0')])
]),
VarFileInfo([VarStruct(u'Translation', [1033, 1200])])
]
)
问题1:PyInstaller安装失败
解决方案:
1. 确保网络连接正常
2. 尝试使用国内镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
3. 更新pip:python -m pip install --upgrade pip
问题2:打包过程中出现模块缺失错误
解决方案:
1. 安装缺失的模块:pip install 模块名
2. 在spec文件的hiddenimports中添加模块名
3. 检查Python环境是否完整
问题3:exe文件无法运行
解决方案:
1. 检查是否以管理员身份运行
2. 确保pe.iso文件与exe在同一目录
3. 检查Windows Defender是否误报
4. 尝试在其他电脑上测试
问题4:打包文件过大
解决方案:
1. 在spec文件中添加excludes排除不需要的模块
2. 使用upx压缩(已在配置中启用)
3. 移除不必要的依赖包
问题5:pe.iso文件未正确包含
解决方案:
1. 确保pe.iso文件存在于项目目录
2. 检查spec文件中的datas配置
3. 重新运行打包脚本
-
排除不需要的模块:
excludes=['matplotlib', 'numpy', 'pandas'] # 示例
-
使用UPX压缩(已启用):
upx=True
-
移除调试信息:
debug=False strip=False
-
禁用控制台窗口:
console=False
-
使用单文件模式(当前配置): 所有依赖打包到一个exe文件中
打包完成后,建议创建一个分发包:
ISO写入器_v2.0/
├── ISO写入器.exe # 主程序
├── pe.iso # PE工具(必需)
├── README.md # 使用说明
└── 使用教程.txt # 简化教程
在分发前,请在不同环境中测试:
- ✅ Windows 10 (64位)
- ✅ Windows 11 (64位)
- ✅ 不同的USB设备
- ✅ 不同的ISO文件
- ✅ 管理员权限运行
- ✅ 普通用户权限运行(应该提示需要管理员权限)
- 版本控制:为每个版本创建标签
- 测试充分:在多种环境中测试
- 文档完整:提供详细的使用说明
- 错误处理:确保程序有良好的错误提示
- 用户友好:界面直观,操作简单
如果在打包过程中遇到问题:
- 检查Python和PyInstaller版本兼容性
- 查看详细的错误日志
- 确保所有依赖文件都存在
- 尝试在虚拟环境中打包
- 参考PyInstaller官方文档
提示:首次打包可能需要较长时间,请耐心等待。建议在网络良好的环境下进行打包操作。
本文档提供了详细的使用示例,帮助用户快速上手。
需求:将Windows 10 ISO制作成可引导USB安装盘
步骤:
- 准备一个8GB或更大的USB设备
- 下载Windows 10 ISO文件
- 启动ISO写入器(以管理员身份)
- 选择Windows 10 ISO文件
- 选择目标USB设备
- 确保勾选"创建可引导USB"
- 点击"开始制作"
结果:获得可引导的Windows 10安装USB
需求:制作Ubuntu Live USB用于系统救援
步骤:
- 准备一个4GB或更大的USB设备
- 下载Ubuntu ISO文件
- 启动ISO写入器
- 选择Ubuntu ISO文件
- 选择目标USB设备
- 勾选所有推荐选项
- 开始制作
结果:获得Ubuntu Live USB,可用于系统救援
需求:制作包含PE工具的系统维护盘
前提条件:
- 确保pe.iso文件与程序在同一目录
- pe.iso文件包含完整的PE工具系统
步骤:
- 准备一个16GB或更大的USB设备(推荐)
- 选择任意可引导的ISO文件
- 程序会自动检测并显示"PE工具已集成"
- 正常制作流程
- 制作完成后USB将包含原ISO内容+PE工具
结果:获得集成PE工具的多功能维护USB
┌─────────────────────────────────────┐
│ 🚀 专业ISO写入器 │
│ 集成PE工具的可引导USB创建专家 │
├─────────────────────────────────────┤
│ ✅ PE工具已集成 (XXX.X MB) │
├─────────────────────────────────────┤
│ 📁 选择源ISO文件 │
│ [ISO文件路径____________] [浏览] │
├─────────────────────────────────────┤
│ 💾 目标USB设备 │
│ [设备路径______________] [扫描] │
│ 示例: D: 或 E: (不要包含反斜杠) │
├─────────────────────────────────────┤
│ ⚙️ 写入选项 │
│ ☑ 写入后验证 ☑ 格式化USB ☑ 创建可引导USB │
├─────────────────────────────────────┤
│ 🔧 集成功能 │
│ • 自动集成PE工具系统 │
│ • 支持UEFI和Legacy引导 │
│ • 智能设备检测 │
│ • 数据完整性验证 │
├─────────────────────────────────────┤
│ [进度条_________________________] │
│ 状态:准备就绪 │
├─────────────────────────────────────┤
│ [🚀 开始制作] [⏹️ 停止] [❓ 帮助] │
└─────────────────────────────────────┘
- 点击"浏览"按钮
- 在文件对话框中选择ISO文件
- 支持的格式:.iso文件
- 文件大小:建议小于USB设备容量
方法一:自动扫描
- 点击"扫描"按钮
- 从弹出的设备列表中选择
- 程序会显示设备大小和类型
方法二:手动输入
- 直接在文本框中输入设备路径
- Windows:D: 或 E:(不含反斜杠)
- Linux:/dev/sdb 或 /dev/sdc
- macOS:/dev/disk2 或 /dev/disk3
- 写入后验证:推荐开启,确保数据完整性
- 格式化USB:推荐开启,清除设备上的所有数据
- 创建可引导USB:推荐开启,安装引导程序
- 点击"开始制作"按钮
- 确认警告对话框
- 等待制作完成(显示进度和状态)
制作Windows PE维护盘:
ISO文件:Windows PE ISO
USB设备:16GB USB 3.0
选项:全部勾选
用途:系统维护、数据恢复
制作Windows安装盘:
ISO文件:Windows 10/11 ISO
USB设备:8GB+ USB设备
选项:全部勾选
用途:系统安装、重装
制作Ubuntu Live USB:
ISO文件:ubuntu-22.04-desktop-amd64.iso
USB设备:4GB+ USB设备
选项:全部勾选
用途:系统试用、安装
制作系统救援盘:
ISO文件:SystemRescue ISO
USB设备:2GB+ USB设备
选项:全部勾选
用途:系统救援、数据恢复
制作多功能维护盘:
ISO文件:任意可引导ISO
PE工具:完整的PE工具包
USB设备:32GB+ 高速USB设备
选项:全部勾选
用途:综合系统维护
- 确保选择正确的USB设备
- 备份重要数据(写入会擦除所有数据)
- 推荐使用USB 3.0或更高版本
- Windows:必须以管理员身份运行
- Linux:需要sudo权限
- macOS:需要管理员权限
- ISO文件必须完整且未损坏
- pe.iso文件应与程序在同一目录
- USB设备容量应大于ISO文件大小
- 支持UEFI和Legacy引导模式
- 兼容大多数主流ISO格式
- 适用于各种品牌的USB设备
制作成功后,您会看到:
- ✅ 进度条显示100%
- ✅ 状态显示"制作完成!USB设备已准备就绪"
- ✅ 弹出成功对话框
- ✅ USB设备可在BIOS中识别为可引导设备
- 在文件管理器中查看USB设备
- 确认文件已正确复制
- 检查设备属性中的可用空间
- 重启计算机
- 进入BIOS/UEFI设置
- 查看引导设备列表
- 确认USB设备出现在列表中
- 尝试从USB设备启动
提示:首次使用建议先用不重要的ISO文件和USB设备进行测试,熟悉操作流程后再处理重要数据。
一个功能强大的可引导USB创建工具,支持自动集成PE工具系统。
- 智能ISO写入: 支持各种ISO文件格式的写入
- 自动PE集成: 自动检测并集成同目录下的pe.iso文件
- 多重引导支持: 支持UEFI和Legacy引导模式
- 智能设备检测: 自动扫描和识别USB设备
- 数据完整性验证: 写入后自动验证数据完整性
- 跨平台支持: 支持Windows、Linux和macOS
- 精美界面: 现代化的图形用户界面
- 进度显示: 实时显示写入进度和状态
- Windows 7 或更高版本
- 管理员权限
- 至少1GB可用内存
- Ubuntu 18.04 或更高版本(其他发行版类似)
- sudo权限
- 已安装parted、syslinux等工具
- macOS 10.12 或更高版本
- 管理员权限
- 下载发布包中的
ISO写入器.exe文件 - 将
pe.iso文件放在与exe文件相同的目录中 - 以管理员身份运行exe文件
- 确保已安装Python 3.7或更高版本
- 安装依赖包:
pip install tkinter
- 运行程序:
python iso_writer_final.py
如果您想自己打包程序,请按照以下步骤:
- 确保所有源文件在同一目录中:
iso_writer_final.py- 主程序文件build_exe.py- 打包脚本pe.iso- PE工具文件(必需)
- 运行打包脚本:
python build_exe.py
- 脚本会自动:
- 检查并安装PyInstaller
- 创建打包配置
- 构建可执行文件
- 生成最终的exe文件
如果自动打包失败,可以手动执行:
-
安装PyInstaller:
pip install pyinstaller
-
创建规格文件
iso_writer.spec:# -*- mode: python ; coding: utf-8 -*- a = Analysis( ['iso_writer_final.py'], pathex=[], binaries=[], datas=[('pe.iso', '.')], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False, ) pyz = PYZ(a.pure, a.zipped_data, cipher=None) exe = EXE( pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='ISO写入器', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, icon='icon.ico' )
-
执行打包:
pyinstaller --clean iso_writer.spec
-
打包完成后,可执行文件位于
dist目录中。
-
启动程序
- 以管理员身份运行程序
- 程序会自动检测pe.iso文件状态
-
选择ISO文件
- 点击"浏览"按钮选择要写入的ISO文件
- 支持所有标准ISO格式
-
选择目标设备
- 点击"扫描"按钮自动检测USB设备
- 或手动输入设备路径
-
配置选项
- 写入后验证: 确保数据完整性(推荐开启)
- 格式化USB: 清除设备上的所有数据(推荐开启)
- 创建可引导USB: 安装引导程序(推荐开启)
-
开始制作
- 点击"开始制作"按钮
- 确认警告对话框
- 等待制作完成
不同操作系统的设备路径格式:
- Windows:
D:或E:(盘符,不含反斜杠) - Linux:
/dev/sdb或/dev/sdc(完整设备路径) - macOS:
/dev/disk2或/dev/disk3(完整设备路径)
程序会自动检测并集成同目录下的pe.iso文件:
- ✅ 找到pe.iso: 程序会自动集成PE工具到USB设备
- ❌ 未找到pe.iso: 程序仍可正常工作,但不会集成PE工具
- 写入操作会完全擦除USB设备上的所有数据
- 请在操作前备份重要数据
- 确认选择了正确的目标设备
- Windows: 必须以管理员身份运行
- Linux: 需要sudo权限
- macOS: 需要管理员权限
- USB设备容量应大于ISO文件大小
- 建议使用USB 3.0或更高版本以获得更好性能
- 确保USB设备工作正常
Q: 程序提示"需要管理员权限" A: 请右键点击程序,选择"以管理员身份运行"
Q: 找不到USB设备 A:
- 确保USB设备已正确连接
- 尝试重新插拔USB设备
- 检查设备是否被其他程序占用
Q: 写入失败 A:
- 检查ISO文件是否完整
- 确保USB设备有足够空间
- 尝试使用其他USB设备
Q: 无法启动制作的USB A:
- 确保在BIOS中启用了USB启动
- 检查BIOS启动模式(UEFI/Legacy)
- 尝试在不同电脑上测试
Q: PE工具未集成 A:
- 确保pe.iso文件与程序在同一目录
- 检查pe.iso文件是否完整
- 重新下载或获取pe.iso文件
- 错误001: ISO文件不存在或无法访问
- 错误002: USB设备路径无效
- 错误003: 权限不足
- 错误004: 设备空间不足
- 错误005: 写入过程中断
如果遇到其他问题:
- 查看程序内置的帮助文档
- 检查系统日志获取详细错误信息
- 确保使用最新版本的程序
- ✨ 全新的现代化界面设计
- 🔧 自动PE工具集成功能
- 🚀 智能USB设备检测
- ✅ 增强的数据验证机制
- 🌐 改进的跨平台兼容性
- 📊 实时进度显示
- 🛡️ 增强的错误处理
- 🎯 基础ISO写入功能
- 💾 简单的设备选择
- ⚙️ 基本的引导支持
本程序遵循MIT许可证,详情请参阅LICENSE文件。
欢迎提交问题报告和功能建议!
注意: 使用本程序时请遵守相关法律法规,作者不对因使用本程序造成的任何损失承担责任。