# PyInstaller图形界面
**Repository Path**: deepin20/pyinstaller_gui
## Basic Information
- **Project Name**: PyInstaller图形界面
- **Description**: PyInstaller图形界面是一个强大的 PyInstaller GUI 封装工具 —— 轻松将您的 Python 脚本转换为 Windows、macOS 和 Linux 的独立可执行文件。
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-09
- **Last Updated**: 2026-09-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
一个强大的 PyInstaller GUI 封装工具 —— 轻松将您的 Python 脚本转换为 Windows、macOS 和 Linux 的独立可执行文件。
## PyInstaller图形界面
## 功能特性
- **跨平台支持**:将 Python 脚本转换为 Windows、macOS 和 Linux 的可执行文件
- **易于使用的图形界面**:无需记忆复杂的命令行参数,界面简洁直观
- **深色与浅色主题**:自动检测系统主题,并支持手动切换
- **拖放支持**:直接将 Python 脚本拖入应用程序即可
- **最近文件**:从下拉菜单快速访问最近使用的脚本
- **配置管理**:将构建配置导出和导入为 JSON 文件,便于复用和分享
- **语法高亮**:命令预览带有彩色语法高亮,提升可读性
- **搜索与过滤**:在文件树中搜索和过滤附加文件
- **编辑文件**:直接编辑文件路径,或双击修改
- **复制与保存日志**:复制生成的命令,或将构建日志保存到文件
- **可定制设置**:精细调整 PyInstaller 的各类选项,如添加额外文件、隐藏导入等
- **实时日志**:在转换过程中查看详细日志,了解每一步进展
## 安装
您可以通过 pip 安装 PyInstaller GUI:
```bash
pip install --upgrade pyinstaller-gui
```
或者,如果您希望直接克隆仓库:
```bash
git clone https://github.com/inject3r/pyinstaller-gui.git
cd pyinstaller-gui
pip install -e .
```
## 使用方法
### 启动 GUI
要启动 PyInstaller GUI,只需运行以下命令:
```bash
pyinstaller-gui
```
或:
```bash
pyinstallergui
```
### 转换脚本
1. 打开 PyInstaller GUI 应用程序
2. 通过以下方式加载 Python 脚本:
- 点击 **浏览** 按钮
- 将 `.py` 文件拖放到脚本输入框
- 从 **最近** 文件下拉菜单中选择
3. 在多个选项卡中配置构建选项:
- **常规**:基本选项(单文件、无控制台、隐藏导入)
- **附加文件**:添加需要打包的文件、文件夹或二进制文件
- **高级**:日志级别、UPX 压缩、调试模式
- **设置**:输出文件夹、自定义图标、运行时临时目录
- **配置**:导出/导入构建设置
4. 点击 **运行 PyInstaller** 生成可执行文件
### 配置管理
- **导出配置**:将当前设置保存为 JSON 文件
- **导入配置**:加载之前保存的设置
- **预览**:以人类可读的摘要形式查看当前配置
### 键盘快捷键与提示
- **双击** 附加文件列表中的任意文件,可编辑其路径
- 使用附加文件选项卡中的 **搜索** 框过滤文件列表
- **复制** 按钮将生成的命令复制到剪贴板
- **保存日志** 将构建输出保存到带时间戳的文件
- **清除** 按钮清空输出控制台
### 自定义设置
| 功能 | 描述 |
|------|------|
| **单文件 (-F)** | 创建单个可执行文件,而非文件夹 |
| **无控制台 (-w)** | 隐藏控制台窗口(用于 GUI 应用程序) |
| **隐藏导入** | 指定动态导入的模块 |
| **附加文件** | 包含要打包的文件、文件夹或二进制文件 |
| **图标** | 选择自定义图标(Windows 为 .ico,macOS 为 .icns) |
| **输出文件夹** | 定义可执行文件的保存位置 |
| **UPX 目录** | UPX 可执行文件压缩器的路径 |
| **日志级别** | 控制构建输出的详细程度(TRACE、DEBUG、INFO、WARN、ERROR、FATAL) |
| **调试模式** | 启用调试功能(all、imports、bootloader、noarchive) |
| **运行时临时目录** | 单文件模式下自定义临时目录 |
| **清理缓存** | 在构建前清除 PyInstaller 缓存 |
| **自定义命令** | 添加任何额外的 PyInstaller 参数 |
> **注意:** 要为特定操作系统生成可执行文件,您必须在该系统上运行此模块。例如,要创建 Windows 可执行文件,您需要在 Windows 机器上运行该模块。
## 系统要求
- Python 3.6+
- PyInstaller 6.11.1+
- PyQt6 6.8.1+
## 支持平台
- **Windows**:生成 .exe 文件
- **macOS**:生成 .app 应用程序包
- **Linux**:生成 Linux 可执行文件
## 开发
### 运行测试
```bash
# 运行所有测试并生成覆盖率报告
./scripts/tests.sh
# 清理测试输出文件
./scripts/test_clean.sh
# 运行单个测试文件
python -m pytest tests/test_command_builder.py -v
```
### 从源码构建
```bash
# 以开发模式安装
pip install -e .
# 安装开发依赖
pip install -e ".[dev]"
# 构建分发包
python -m build
# 使用 PyInstaller 构建可执行文件
pyinstaller pyinstaller-gui.spec
```
### 代码覆盖率
运行 `./scripts/tests.sh` 后,打开覆盖率报告:
```bash
# 打开 HTML 覆盖率报告
firefox tests/coverage_html/index.html
# 或
google-chrome tests/coverage_html/index.html
```
## 故障排除
### 常见问题
| 问题 | 解决方案 |
|------|----------|
| **未找到 PyInstaller** | 使用 `pip install pyinstaller` 安装 |
| **模块未找到错误** | 将缺失的模块添加到“隐藏导入”中 |
| **图标未显示** | 确保图标格式正确(Windows 为 .ico,macOS 为 .icns) |
| **Linux 权限被拒绝** | 运行 `chmod +x dist/你的应用` |
| **命令预览显示错误** | 检查脚本路径是否有效且文件存在 |
| **启用无控制台后构建失败** | GUI 应用程序需要 `--windowed` 标志(“无控制台”选项已自动设置) |
### 获取帮助
- 查看内置帮助对话框(点击每个选项卡中的 **?** 按钮)
- 在构建前查看命令预览,验证参数是否正确
- 检查输出控制台中的详细错误信息
- 访问 [GitHub Issues](https://github.com/inject3r/pyinstaller-gui/issues) 页面
## 截图
## 许可证
本项目采用 MIT 许可证 - 详情请见 [LICENSE](LICENSE) 文件。
## 贡献
欢迎贡献!请随时提交 Pull Request。
1. Fork 本仓库
2. 创建您的特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m '添加某个精彩特性'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 打开一个 Pull Request
### 开发指南
- 遵循 PEP 8 代码风格
- 为新功能添加测试
- 根据需要更新文档
- 确保所有测试通过后再提交
## 致谢
- [PyInstaller](https://www.pyinstaller.org/) —— 核心打包工具
- [PyQt6](https://www.riverbankcomputing.com/software/pyqt/) —— GUI 框架
- [UPX](https://upx.github.io/) —— 可执行文件压缩器
- 本项目的所有贡献者和用户