
AttributeError: ‘NoneType’ object has no attribute ‘filename’
快速结论:该报错通常发生在 Stable Diffusion WebUI Forge 加载 LoRA 时,问题原因可能是某个 LoRA 文件路径失效或配置缺失。优先排查用户自定义样式文件(styles.csv)中是否引用了不存在的 LoRA。
问题场景
用户重新安装了 Stable Diffusion WebUI Forge,在生成约 20 张图片后,加载 LoRA 时突然触发该错误。即使使用相同的设置、检查点、提示词和同一个 LoRA,后续运行也会复现此问题。
报错原文
activating extra network lora with arguments [, , ]: AttributeError
Traceback (most recent call last):
File "/srv/www/vhosts/forge-ui/extensions-builtin/sd_forge_lora/networks.py", line 94, in load_networks
net = load_network(name, network_on_disk)
File "/srv/www/vhosts/forge-ui/extensions-builtin/sd_forge_lora/networks.py", line 63, in load_network
net.mtime = os.path.getmtime(network_on_disk.filename)
AttributeError: 'NoneType' object has no attribute 'filename'
原因分析
根据 Issue 讨论,可能原因
- 用户在个人样式文件(styles.csv)中配置了名为 “Perfect Hands” 的 LoRA,但这个 LoRA 并不在当前的 Forge 安装环境中(仅存在于其他分区的归档中)。当 Forge 尝试从样式文件加载该 LoRA 时,由于文件不存在,
network_on_disk对象为None,导致filename属性访问失败。 - 另一种可能是 LoRA 列表缓存未正确更新,导致引用了已删除或移动的 LoRA 文件。
环境排查
- 检查 Forge 安装目录下的
styles.csv文件,确认其中引用的 LoRA 名称是否真实存在于models/Lora文件夹中。 - 确认
sd_forge_lora/networks.py文件是否原版,未经过修改(版本号无需核实,但可对比官方仓库)。 - 检查
models/Lora目录下是否存在名称不匹配或损坏的 LoRA 文件。
解决步骤
- 排查样式文件:打开 Forge 安装目录下的
styles.csv文件(通常位于webui/或用户主目录),检查所有样式条目中引用的 LoRA 名称。如果发现引用了当前环境不存在的 LoRA(例如 “Perfect Hands”),将其删除或注释掉。 - 替代方案(如果不想手动编辑 CSV):在 Forge WebUI 的 “Styles” 标签页中,编辑或删除包含问题 LoRA 的样式。
- (可选)代码级别的容错处理:如果问题频繁出现,可优先尝试修改
extensions-builtin/sd_forge_lora/networks.py中的load_networks函数,在循环中添加对network_on_disk是否为None的检查:for name in names: network_on_disk = available_network_aliases.get(name, None) if network_on_disk is None: print(f"[LORA] Skipping unavailable network: {name}") continue net = load_network(name, network_on_disk)
验证方法
重新启动 Forge WebUI,使用之前的配置生成图片,确认不再出现 AttributeError 错误。如果使用了代码修改,检查控制台是否输出 “[LORA] Skipping unavailable network” 提示。



