添加PyInstaller打包配置及清理脚本
添加translate.ico图标文件 更新.gitignore忽略.spec文件 修改main.py导入路径为main_window_final 优化translator.py的错误处理 添加pyinstaller-one技能目录及文档 更新main.spec配置排除不必要的依赖 添加verify_features.py功能验证脚本
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
# 实现基于PySide6的翻译GUI工具
|
||||
|
||||
## 1. 项目结构设计
|
||||
|
||||
```
|
||||
translate/
|
||||
├── main.py # 主程序入口
|
||||
@@ -19,44 +20,72 @@ translate/
|
||||
## 2. 核心功能实现
|
||||
|
||||
### 2.1 依赖库安装
|
||||
- PySide6:GUI框架
|
||||
- llama-cpp-python:运行GGUF模型
|
||||
- python-docx:Word文件处理
|
||||
- loguru:日志管理
|
||||
- psutil:系统资源监控
|
||||
- GPUtil:GPU资源监控(如果需要)
|
||||
|
||||
* PySide6:GUI框架
|
||||
|
||||
* llama-cpp-python:运行GGUF模型
|
||||
|
||||
* python-docx:Word文件处理
|
||||
|
||||
* loguru:日志管理
|
||||
|
||||
* psutil:系统资源监控
|
||||
|
||||
* GPUtil:GPU资源监控(如果需要)
|
||||
|
||||
### 2.2 系统资源监控
|
||||
- 实现CPU占用率监控
|
||||
- 实现内存占用率监控
|
||||
- 实现显卡内存占用率监控
|
||||
- 定期更新状态栏显示
|
||||
|
||||
* 实现CPU占用率监控
|
||||
|
||||
* 实现内存占用率监控
|
||||
|
||||
* 实现显卡内存占用率监控
|
||||
|
||||
* 定期更新状态栏显示
|
||||
|
||||
### 2.3 模型管理
|
||||
- 实现模型加载和初始化
|
||||
- 支持模型文件选择和切换
|
||||
- 显示模型状态(就绪/加载中)
|
||||
|
||||
* 实现模型加载和初始化
|
||||
|
||||
* 支持模型文件选择和切换
|
||||
|
||||
* 显示模型状态(就绪/加载中)
|
||||
|
||||
### 2.4 翻译核心
|
||||
- 使用llama-cpp-python调用模型进行翻译
|
||||
- 支持添加文本背景和场景介绍
|
||||
- 支持术语定义功能
|
||||
|
||||
* 使用llama-cpp-python调用模型进行翻译
|
||||
|
||||
* 支持添加文本背景和场景介绍
|
||||
|
||||
* 支持术语定义功能
|
||||
|
||||
### 2.5 GUI界面设计
|
||||
- 实现与参考图一致的界面布局
|
||||
- 顶部模型信息和更换按钮
|
||||
- 可折叠的高级辅助面板
|
||||
- 文本背景/场景介绍输入框
|
||||
- 术语定义列表和管理
|
||||
- 原文输入区域,支持Word导入
|
||||
- 翻译按钮
|
||||
- 译文结果区域,支持Word导出和复制
|
||||
- 底部状态栏,显示系统资源占用情况
|
||||
|
||||
* 实现与参考图一致的界面布局
|
||||
|
||||
* 顶部模型信息和更换按钮
|
||||
|
||||
* 可折叠的高级辅助面板
|
||||
|
||||
* 文本背景/场景介绍输入框
|
||||
|
||||
* 术语定义列表和管理
|
||||
|
||||
* 原文输入区域,支持Word导入
|
||||
|
||||
* 翻译按钮
|
||||
|
||||
* 译文结果区域,支持Word导出和复制
|
||||
|
||||
* 底部状态栏,显示系统资源占用情况
|
||||
|
||||
### 2.6 Word文件处理
|
||||
- 实现docx文件的导入,提取文本内容
|
||||
- 实现译文的docx文件导出
|
||||
- 保持文档格式(尽可能)
|
||||
|
||||
* 实现docx文件的导入,提取文本内容
|
||||
|
||||
* 实现译文的docx文件导出
|
||||
|
||||
* 保持文档格式(尽可能)
|
||||
|
||||
## 3. 代码实现步骤
|
||||
|
||||
@@ -72,17 +101,27 @@ translate/
|
||||
|
||||
## 4. 注意事项
|
||||
|
||||
- 确保模型文件路径正确配置
|
||||
- 处理模型加载和翻译过程中的异常
|
||||
- 优化GUI响应速度,避免翻译过程中界面卡顿
|
||||
- 实现良好的错误提示和日志记录
|
||||
- 支持Windows系统的文件路径格式
|
||||
- 系统监控模块要低开销运行,避免影响翻译性能
|
||||
* 确保模型文件路径正确配置
|
||||
|
||||
* 处理模型加载和翻译过程中的异常
|
||||
|
||||
* 优化GUI响应速度,避免翻译过程中界面卡顿
|
||||
|
||||
* 实现良好的错误提示和日志记录
|
||||
|
||||
* 支持Windows系统的文件路径格式
|
||||
|
||||
* 系统监控模块要低开销运行,避免影响翻译性能
|
||||
|
||||
## 5. 未来扩展考虑
|
||||
|
||||
- 支持更多模型格式
|
||||
- 实现批量翻译功能
|
||||
- 支持更多文档格式
|
||||
- 添加翻译历史记录
|
||||
- 实现翻译质量评估
|
||||
* 支持更多模型格式
|
||||
|
||||
* 实现批量翻译功能
|
||||
|
||||
* 支持更多文档格式
|
||||
|
||||
* 添加翻译历史记录
|
||||
|
||||
* 实现翻译质量评估
|
||||
|
||||
|
||||
17
.trae/skills/pyinstaller-one/SKILL.md
Normal file
17
.trae/skills/pyinstaller-one/SKILL.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: pyinstaller-one
|
||||
description: 基于python代码使用pyinstaller打包的时候,用这个统一打包的要求格式。
|
||||
---
|
||||
|
||||
## 元数据
|
||||
name: pyinstaller个性化打包
|
||||
description: 打包的时候,要求生成为一个exe文件,使用ico等等
|
||||
|
||||
## 概述
|
||||
此 Skill 用于给有GUI界面的python代码,打包的时候,生成一个统一的要求:生成一个exe文件,去掉控制台窗口,使用本目录下的ico文件作为程序的图标。打包时,如果之前有打包过的文件(dist/build 文件夹),自动覆盖旧文件,不用手动确认,一键打包到底。
|
||||
|
||||
## 打包命令示例
|
||||
pyinstaller --onefile --noconsole --icon=图标文件名.ico --distpath=. --hidden-import=PySide6.Qt6Compat python程序名.py
|
||||
|
||||
## 清除多余文件
|
||||
在windows环境下,执行clean.py
|
||||
17
.trae/skills/pyinstaller-one/clean.py
Normal file
17
.trae/skills/pyinstaller-one/clean.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import os
|
||||
import shutil
|
||||
import glob
|
||||
import subprocess
|
||||
|
||||
# 2. 清理打包残留文件 等价:rd /s /q build + del /f *.spec
|
||||
print("开始清理打包残留文件...")
|
||||
# 删除build文件夹
|
||||
if os.path.exists("build") and os.path.isdir("build"):
|
||||
shutil.rmtree("build")
|
||||
# 删除所有.spec文件
|
||||
spec_files = glob.glob("*.spec")
|
||||
for spec_file in spec_files:
|
||||
if os.path.exists(spec_file):
|
||||
os.remove(spec_file)
|
||||
|
||||
print("✅ 打包完成 + 残留文件清理完毕!exe文件已生成在当前目录")
|
||||
Reference in New Issue
Block a user