ComfyUI在安装LCM_Inpaint_Outpaint_Comfy、ComfyUI-layerdiffuse、ComfyUI-Easy-Use、ComfyUI-Diffusers-X-Adapter等等依赖python的diffusers库的插件时,可能会由于diffusers版本冲突出现插件不能导入的情况!具体报错信息大致如下:
(IMPORT FAILED): ComfyUI-aki-v1.3\custom_nodes\LCM_Inpaint_Outpaint_Comfy
LCM_Inpaint_Outpaint_Comfy module for custom nodes:No module named ‘diffusers.models.unet_2d_blocks’
为什么会发生这个问题呢?
这是因为每个插件需求的diffusers的版本都不同,比如有些插件要求diffusers版本大于等于0.28.0,,有的要求必须大于等于0.28.2,而有些要求必须等于0.26.0。但是diffusers从0.29.0之后有一个重大的更新:unet_2d_blocks.py这个模块文件,由原来的diffusers/models/目录,移动到diffusers/models/unets/目录了,如果你的diffusers库版本高于0.29.0,那之前用到这个库的插件就全部不能使用了!尤其是那些几个月都没有更新的插件!所以要解决这个问题,就要从这个路径着手了!这也是为什么这么多依赖diffusers库的插件突然就不能导入的根本原因!插件之间有冲突!找不到unet_2d_blocks模块,所以就会报错:
No module named ‘diffusers.models.unet_2d_blocks’
具体解决步骤如下:
在相应的插件目录下搜索”.py”文件,使用notepad++等文本编辑器,一次性打开所有的py文件,然后搜索所有文件中的代码:diffusers.models.unet_2d_blocks
,把这句代码修改为diffusers.models.unets.unet_2d_blocks
,即在代码中间添加.unets
这个路径!然后全部保存!
完成之后,重新打开你的comfyui和工作流吧!这是解决后的工作流!瞬间清爽了,有没有?