
No module named ‘triton’
快速结论:此报错出现在 Stable Diffusion WebUI Forge 启动时,表示 xformers 未找到 Triton 依赖。但根据 Issue 讨论,LoRA 无法生效问题的核心原因并非缺少 triton,而是由于 LoRA 加载机制重构导致兼容性问题,或用户使用了损坏的 LoRA 文件。
问题场景
用户在 Stable Diffusion WebUI Forge(版本 f0.0.12-latest-155-gd81e353d)中生成图像时,提示中使用 LoRA 但实际生成结果未应用 LoRA 效果。用户同时观察到启动日志中包含 “No module named ‘triton'” 警告。
报错原文
WARNING:xformers:A matching Triton is not available, some optimizations will not be enabled.
Error caught was: No module named 'triton'
xformers version: 0.0.23.post1
以及在应用 LoRA 时出现的错误:
activating extra network lora with arguments [<modules.extra_networks.ExtraNetworkParams object at 0x000001E09E40A5C0>]: AttributeError
Traceback (most recent call last):
File "C:\webui\stable-diffusion-webui-forge\modules\extra_networks.py", line 135, in activate
extra_network.activate(p, extra_network_args)
File "C:\webui\stable-diffusion-webui-forge\extensions-builtin\Lora\extra_networks_lora.py", line 43, in activate
...
原因分析
可能原因包括:
- LoRA 加载机制重构:维护者提到 “LoRA loading was re-worked”,推测本次 Issue 中 LoRA 不生效与代码重构后的兼容性问题有关。
- 损坏的 LoRA 文件:另一位用户反馈在 SDXL 模型上使用 SDXL LoRA 时出现
AttributeError: 'NoneType' object has no attribute 'filename',后确认该 LoRA 文件损坏。 - 缺少 triton 并非直接原因:“No module named ‘triton'” 仅为 xformers 的优化缺失警告,不会直接导致 LoRA 不加载。
环境排查
- 确认 WebUI Forge 版本是否为 f0.0.12-latest-155-gd81e353d 或更早版本
- 检查 Python 版本(用户使用 3.10.6)
- 确认 xformers 版本(用户使用 0.0.23.post1)
- 检查 CUDA 和显卡驱动是否正常(用户使用 NVIDIA GeForce GTX 1660 SUPER)
- 确认 LoRA 文件是否来自可靠的来源,且在其它版本的 WebUI 中能正常使用
解决步骤
- 更新到最新版本:维护者指出 “LoRA loading was re-worked and tiling is now implemented as of the latest commit”,建议将 WebUI Forge 更新到最新提交。可优先尝试此步骤。
- 检查 LoRA 文件完整性:尝试使用其它已知正常的 LoRA 文件生成图像,确认是否为特定 LoRA 文件损坏所致。
- 针对
NoneType filename错误的代码修改(仅限出现该错误时尝试):- 打开
extensions-builtin\sd_forge_lora\networks.py文件 - 找到
load_network函数,修改为使用network_on_disk.filename而非network_on_disk.name(参考 Issue 中 Gemini 提供的代码片段) - 保存文件后重启 WebUI
注意:这是社区用户提供的推测性修复方案,并非官方解决方案,仅作为备选尝试。
- 打开
- 禁用所有扩展后测试:启动时添加
--disable-all-extensions参数,确认是否为扩展冲突导致。
验证方法
重启 WebUI,选择一个已确认可用的 LoRA 文件(如简单风格类 LoRA),在提示词中正常调用。生成后对比有无 LoRA 时的输出差异,确认 LoRA 效果是否已被应用。同时检查控制台日志,应不再出现与 LoRA 相关的 AttributeError 错误。



