现象
部分 Windows 便携整合包用户反馈:
- 安装/解压完成后,用
run_gui.bat 能打开网页;
- 点击「开始训练」后出现 无法连接训练端(或类似连接失败提示);
- 手动进入
SD-Trainer 目录执行 python gui.py(不带便携启动参数)后,会再跑一轮环境/依赖相关流程,之后训练恢复正常。
根因(当前代码)
scripts/portable/launch_portable.bat 中:
- 仅以
python_embeded\Lib\site-packages\torch 目录是否存在判断是否「已安装」,若存在则 跳过 setup_environment.py。
- 启动时固定传入
gui.py --skip-prepare-environment,因此即使用户环境不完整,也不会再走 prepare_environment 补依赖路径。
当 torch 已落盘但其它训练依赖缺失/损坏/未装全时,会出现「界面能开、训练起不来」的错位体验。
setup_environment.py 里的 check_already_installed() 同样只以 torch 目录为判据,与上述逻辑一致。
影响范围
- 已确认的 v2.5.2 便携整合包 启动链路;
- 仓库
main 分支 中 scripts/portable/launch_portable.bat 与 setup_environment.py 当前实现仍存在相同判据。
用户侧临时规避
- 优先使用整合包根目录的
run_gui.bat 启动(勿混用系统 Python 打开错目录)。
- 若仍失败:在
SD-Trainer 目录 下用整合包自带的 python_embeded\python.exe 执行一次 gui.py(或按发行说明执行官方「环境修复/重装」入口),完成依赖补全后再用 run_gui.bat。
- 保留
sd-trainer-log.txt(整合包根目录)便于排查。
建议修复方向(供实现 PR 参考)
- 将「是否已完整安装」从「仅检测 torch 目录」升级为更可靠判据(例如:对关键包
import 探针、或校验 requirements 安装标记、或首次失败后强制重跑 setup)。
- 或在
torch 存在但 gui.py 异常退出时,引导用户重跑 setup_environment.py 并写清日志路径。
标签建议:bug、packaging / portable(若仓库有对应标签可补充)
现象
部分 Windows 便携整合包用户反馈:
run_gui.bat能打开网页;SD-Trainer目录执行python gui.py(不带便携启动参数)后,会再跑一轮环境/依赖相关流程,之后训练恢复正常。根因(当前代码)
scripts/portable/launch_portable.bat中:python_embeded\Lib\site-packages\torch目录是否存在判断是否「已安装」,若存在则 跳过setup_environment.py。gui.py --skip-prepare-environment,因此即使用户环境不完整,也不会再走prepare_environment补依赖路径。当
torch已落盘但其它训练依赖缺失/损坏/未装全时,会出现「界面能开、训练起不来」的错位体验。setup_environment.py里的check_already_installed()同样只以torch目录为判据,与上述逻辑一致。影响范围
main分支 中scripts/portable/launch_portable.bat与setup_environment.py当前实现仍存在相同判据。用户侧临时规避
run_gui.bat启动(勿混用系统 Python 打开错目录)。SD-Trainer目录 下用整合包自带的python_embeded\python.exe执行一次gui.py(或按发行说明执行官方「环境修复/重装」入口),完成依赖补全后再用run_gui.bat。sd-trainer-log.txt(整合包根目录)便于排查。建议修复方向(供实现 PR 参考)
import探针、或校验requirements安装标记、或首次失败后强制重跑 setup)。torch存在但gui.py异常退出时,引导用户重跑setup_environment.py并写清日志路径。标签建议:
bug、packaging/portable(若仓库有对应标签可补充)