问题简介:
我在使用 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.1
python: 3.10.6
torch: 2.1.2+cu121
xformers: N/A
gradio: 3.41.2
stable-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 许可协议。转载请注明出处!