跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Stable Diffusion WebUI 启动报错:MessageFactory 缺少 GetPrototype 属性修复方案

综述由AI生成解决了 Stable Diffusion WebUI 使用 sd-webui-roop 插件时因 Protobuf 版本冲突导致的 AttributeError 启动报错。原因是新版 Protobuf 移除了 GetPrototype 方法,而插件依赖旧版 API。解决方案是在三个关键配置文件(requirements.txt, requirements_versions.txt, extensions 下的 requirements.txt)中强制锁定 protobuf 版本为 3.20.2。此外,需确保网络代理配置正确以避免依赖下载失败。验证无误后可正常生成图片。

咸鱼开飞机发布于 2026/4/5更新于 2026/5/2227 浏览
Stable Diffusion WebUI 启动报错:MessageFactory 缺少 GetPrototype 属性修复方案

Stable Diffusion WebUI 启动报错:MessageFactory 缺少 GetPrototype 属性修复方案

问题背景

在使用 Stable Diffusion WebUI 安装 sd-webui-roop 插件后,启动时可能出现典型的 Protobuf 版本冲突错误:

AttributeError: 'MessageFactory' object has no attribute 'GetPrototype'

该错误通常意味着:

  • Protobuf 被自动升级到了 4.x / 5.x / 6.x 系列版本
  • 而 ControlNet、roop 等插件依赖的是 Protobuf 3.x 的旧 API
  • 新版本 Protobuf 移除了 GetPrototype 方法,导致兼容性崩溃

问题原因分析

通过日志分析和依赖回溯,发现问题由以下几个因素共同导致:

1. sd-webui-roop 的 requirements.txt 没有限制 Protobuf 版本

原始内容如下:

insightface==0.7.3 onnx==1.14.0 onnxruntime==1.15.0 opencv-python==4.7.0.72 ifnude cython 

注意:这里没有任何关于 protobuf 的版本约束。

2. onnx==1.14.0 的内置依赖要求

它没有设置上限,于是 pip 会认为可以安装最新版(如 6.33.4),导致 Protobuf 被自动升级到不兼容版本。

3. ControlNet 等插件依赖 Protobuf 3.x 的旧 API

Protobuf 4.x+ 对 Python API 做了大量不兼容修改,其中就包括 MessageFactory.GetPrototype() 被移除。

完整修复方案

下面是经过验证的完整修复步骤。

步骤 1:修改 3 个关键文件,统一锁定 protobuf==3.20.2

这个版本是'黄金兼容版本':

  • 满足 onnx==1.14.0 的最低要求(>=3.20.2)
  • 属于 3.x 系列,保留旧 API
  • 不会触发编译问题

需要修改的文件如下:

1)stable-diffusion-webui/requirements.txt

添加或修改:

protobuf==3.20.2 
2)stable-diffusion-webui/requirements_versions.txt

添加或修改:

protobuf==3.20.2 
3)extensions/sd-webui-roop/requirements.txt

在末尾添加:

protobuf==3.20.2 

修改后完整内容如下:

insightface==0.7.3 onnx==1.14.0 onnxruntime==1.15.0 opencv-python==4.7.0.72 ifnude cython protobuf==3.20.2 

步骤 2:保持 webui-user.bat 网络配置正确

以下是推荐的稳定配置示例:

@echo off 
set HTTP_PROXY=http://127.0.0.1:7897 
set HTTPS_PROXY=http://127.0.0.1:7897 
set NO_PROXY=127.0.0.1,localhost 
set HF_ENDPOINT=https://hf-mirror.com 
set PYTHON=.venv\Scripts\python.exe 
set GIT= 
set VENV_DIR=.venv 
set COMMANDLINE_ARGS=--xformers --gradio-queue --disable-nan-check 
call webui.bat 

重点:

  • 必须设置 NO_PROXY,否则容易出现解析报错
  • HF_ENDPOINT 可加速模型下载

步骤 3:重新启动 WebUI

不需要手动 pip install,WebUI 会自动处理依赖。

启动成功的标志:

  • 无 GetPrototype 报错
  • 无 onnx 编译错误
  • 所有插件正常加载
  • 可以正常生成图片

经验总结

1. Protobuf 3.20.2 是 WebUI 的最佳兼容版本

它同时满足 onnx>=1.13.0 的最低要求、ControlNet/roop 的旧 API 要求,且不会触发编译失败。

2. 必须同时修改 3 个文件

否则会被插件的 requirements.txt 覆盖,导致版本再次被升级。

3. 不要随意升级 Protobuf

Protobuf 4.x+ 对 WebUI 生态几乎完全不兼容。

4. 网络配置非常关键

错误的代理设置会导致依赖安装失败,从而触发各种奇怪的报错。

目录

  1. Stable Diffusion WebUI 启动报错:MessageFactory 缺少 GetPrototype 属性修复方案
  2. 问题背景
  3. 问题原因分析
  4. 1. sd-webui-roop 的 requirements.txt 没有限制 Protobuf 版本
  5. 2. onnx==1.14.0 的内置依赖要求
  6. 3. ControlNet 等插件依赖 Protobuf 3.x 的旧 API
  7. 完整修复方案
  8. 步骤 1:修改 3 个关键文件,统一锁定 protobuf==3.20.2
  9. 1)stable-diffusion-webui/requirements.txt
  10. 2)stable-diffusion-webui/requirements_versions.txt
  11. 3)extensions/sd-webui-roop/requirements.txt
  12. 步骤 2:保持 webui-user.bat 网络配置正确
  13. 步骤 3:重新启动 WebUI
  14. 经验总结
  15. 1. Protobuf 3.20.2 是 WebUI 的最佳兼容版本
  16. 2. 必须同时修改 3 个文件
  17. 3. 不要随意升级 Protobuf
  18. 4. 网络配置非常关键
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 机器人技术中的李群与李代数基础解析
  • C++ Boost 搜索引擎数据清洗与解析实现详解
  • Git Cherry-Pick 命令详解:精准挑选提交与冲突处理
  • Java 快速开发框架实战对比:若依、芋道、Jeesite、JeecgBoot
  • Stable Diffusion 模型加载报错:CheckpointLoaderSimple 错误修复
  • MySQL 数据导出导入权限与 local_infile 参数配置
  • OpenClaw 开源 AI 智能体框架:技术架构、生态与部署实战
  • Python AI 入门:从线性回归到图像分类
  • H3C 交换机 NTP 时钟配置步骤(命令及 WEB 配置)
  • ComfyUI 云服务器部署实战与优化指南
  • Python 驱动浏览器自动化:Playwright + AI 最佳实践
  • 8 款高效科研绘图工具推荐:从流程图到专业结构图
  • Python 安装与环境配置详细教程
  • AI 支持的临床医学工作、论文撰写与机器学习建模实践
  • 千笔 AI 论文写作工具功能解析
  • LLaMA 衍生模型:官方演进与社区微调
  • 前端核心知识点系统梳理与解析
  • 2024 年 OpenCV 学习指南:从入门到实战
  • OpenClaw 安装 + 接入飞书机器人完整教程
  • C++ 泛型编程与模板机制详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online