Python · 17 11 月, 2024 0

Stable Diffusion启动webui.bat显示找不到jsonmerge模块错误

背景

笔者从GitHub上clone了stable-diffusion-webui,按说明启动了webui.bat,中途出现了以下找不到jsonmerge模块的错误:

ModuleNotFoundError: No module named 'jsonmerge'

然而即使用pip install jsonmerge安装了该模块,问题依然没有得到解决。

为什么

Stable-diffusion-webui启动时使用的是Python的虚拟环境(venv),而上述方式安装的模块只对系统全局环境生效。

正确操作

将全局环境中安装的jsonmerge模块复制到Stable Diffusion的虚拟环境中可以解决问题。

比如,如果你将模块安装到了C:\Users\<用户名>\AppData\Roaming\Python\Python310\site-packages目录下(非管理员权限运行的pip一般会将模块安装到这里),那么你应当将C:\Users\<用户名>\AppData\Roaming\Python\Python310\site-packages\jsonmerge文件夹复制到虚拟环境目录stable-diffusion-webui\venv\Lib\site-packages中。

这样,再启动webui.bat就可以打开网页客户端了。