问题简介:
我在使用 Stable Diffusion WebUI 时,试图启动 ControlNet 扩展,却遇到了启动错误。最初的错误信息如下:
textControlNet preprocessor location: D:\AI\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads *** Error loading script: controlnet.py AttributeError: type object 'CalculatorOptions' has no attribute 'RegisterExtension'
随后,通过检查依赖冲突,发现 open-clip-torch 和 mediapipe 对 protobuf 的版本要求不一致:
textopen-clip-torch 2.20.0 has requirement protobuf<4, but you have protobuf 5.29.3. mediapipe 0.10.14 has requirement protobuf<5,>=4.25.3, but you have protobuf 5.29.3.
问题分析:
open-clip-torch==2.20.0 需要 protobuf<4,而 mediapipe==0.10.14 需要 protobuf>=4.25.3, <5,当前安装的 protobuf==5.29.3 超出两者范围。open-clip-torch 2.20.0 与 mediapipe 0.10.14 所需的 protobuf 没有交集,所以无法在不变更 open-clip-torch 和 mediapipe 版本情况加解决问题!我的环境:
Windows11 stable安装方式:克隆仓库本地安装(venv环境管理)diffusion webui版本: v1.10.1python: 3.10.6torch: 2.1.2+cu121xformers: N/Agradio: 3.41.2stable-diffusion-webui\venv\Scripts 文件夹,打开 CMD 窗口,执行 activate 进入 venv 环境!python -m pip check,找出冲突依赖,发现是 open-clip-torch 2.20.0 , mediapipe 0.10.14,protobuf 三者冲突!python -m pip install --upgrade open-clip-torch 升级 open-clip-torch;python -m pip install protobuf==3.20.3 降级;python -m pip install mediapipe==0.10.11 降级Webui,问题解决!提示:每个人的安装环境不同,解决方式和版本可能不同,请自行尝试适合自己的解决方案或以来版本!
检查依赖冲突:
使用 python -m pip check 发现 protobuf 版本冲突。
尝试升级 open-clip-torch 和安装 protobuf==4.25.4
shpython -m pip install --upgrade open-clip-torch python -m pip install protobuf==4.25.4
尝试后发现虽然冲突解决了,但是错误仍任存在!
调整 mediapipe 和 protobuf 版本:
降级 mediapipe 到 0.10.11,并搭配 protobuf==3.20.3:
shpython -m pip install mediapipe==0.10.11 python -m pip install protobuf==3.20.3
再次运行 python -m pip check,确认无冲突。
验证修复:启动 WebUI,ControlNet 正常加载,未再出现错误!
最终使用以下命令修复:
sh# 升级 open-clip-torch 截至本文记录,自动升级到了 2.30.0
python -m pip install --upgrade open-clip-torch
# 降级 protobuf==3.20.3
python -m pip install protobuf==3.20.3
# 降级 mediapipe==0.10.11
python -m pip install mediapipe==0.10.11
pip check 快速定位冲突。pip list 和 pip check 输出,调整版本后逐步测试。这次修复让我学会了如何处理 Python 依赖冲突,下次遇到类似问题可参考此笔记快速解决!
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!