背景
笔者从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就可以打开网页客户端了。