【故障解析】Stable Diffusion WebUI 更换主题后启动报 JSONDecodeError?可能是“主题加载”惹的祸

【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案


【故障解析】Stable Diffusion WebUI 更换主题后启动报 JSONDecodeError?可能是"主题加载"惹的祸

一、 现象描述:启动即崩溃

在为 WebUI 更换了一款精致的 Gradio 第三方主题后,再次启动程序时,控制台突然刷出一连串红色的 Traceback 报错,其中关键的信息是:

报错堆栈:

changing gradio theme: JSONDecodeError

Traceback (most recent call last):

File "G:\PythonProjects2\stable-diffusion-webui\.venv\Lib\site-packages\requests\models.py", line 976, in json

return complexjson.loads(self.text, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "D:\A\envs\py311\Lib\json\init.py", line 346, in loads

return _default_decoder.decode(s)

^^^^^^^^^^^^^^^^^^^^^^^^^^

File "D:\A\envs\py311\Lib\json\decoder.py", line 337, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "D:\A\envs\py311\Lib\json\decoder.py", line 355, in raw_decode

raise JSONDecodeError("Expecting value", s, err.value) from None

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "G:\PythonProjects2\stable-diffusion-webui\modules\shared_gradio_themes.py", line 63, in reload_gradio_theme

shared.gradio_theme = gr.themes.ThemeClass.from_hub(theme_name)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "G:\PythonProjects2\stable-diffusion-webui\.venv\Lib\site-packages\gradio\themes\base.py", line 165, in from_hub

space_info = api.space_info(name)

^^^^^^^^^^^^^^^^^^^^

File "G:\PythonProjects2\stable-diffusion-webui\.venv\Lib\site-packages\huggingface_hub\utils\_validators.py", line 114, in _inner_fn

return fn(*args, **kwargs)

^^^^^^^^^^^^^^^^^^^

File "G:\PythonProjects2\stable-diffusion-webui\.venv\Lib\site-packages\huggingface_hub\hf_api.py", line 2785, in space_info

data = r.json()

^^^^^^^^

File "G:\PythonProjects2\stable-diffusion-webui\.venv\Lib\site-packages\requests\models.py", line 980, in json

raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)

requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

关键报错:

requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

此时,WebUI 界面可以正常打开,但在启动日志中又看到这个报错总感觉不舒服,之前本已经全面处理过,没成想更换主题后却又再次出现了。

【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案


二、 深度溯源:环境冲突引发的"空响应"

通过观察报错堆栈,我们可以看到问题的源头指向了 modules\shared_gradio_themes.py 中的 from_hub 函数:

shared.gradio_theme = gr.themes.ThemeClass.from_hub(theme_name)

技术逻辑分析:

  1. 云端依赖:当你选择了非默认的主题时,WebUI 在启动阶段会尝试访问远程仓库(如 Hugging Face Hub)来校验或获取主题配置。

  2. 网络握手失败 :由于众所周知的跨境网络波动本地特殊网络环境拦截,API 请求并未能如愿返回 JSON 格式的配置信息。

  3. 解析异常 :后端可能返回了一个 HTML 报错页面或直接是空响应。当 Python 的 requests 库尝试将其作为 JSON 解析时,因为第 1 行第 1 个字符不是预期的 {,便抛出了 JSONDecodeError

这本质上是一个由于外部资源无法访问导致的配置加载崩溃。


三、 解决方案:强制回归本地模式

由于此时 UI 已经无法进入,我们需要通过修改底层配置文件来实施"断臂求生"。

1. 修改 config.json(核心操作)

进入你的 Stable Diffusion 安装根目录,找到 config.json 文件:

  • 搜索关键字:"gradio_theme"

  • 将其值修改为默认值:"Default"

    复制代码
    "gradio_theme": "Default",
  • 保存并重启 WebUI,此时程序将跳过云端请求,直接加载本地默认样式,报错消失。

2. 环境治理:配置 NO_PROXY 屏蔽干扰

为了避免后续其他插件再次因为网络环境不稳定 而误撞墙,建议在 webui-user.bat 中加入环境治理指令,确保本地链路的纯净:

【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案

复制代码
:: 在 COMMANDLINE_ARGS 之前添加,确保本地请求不经过外部链路中转
set NO_PROXY=127.0.0.1,localhost,huggingface.co,github.com

四、 结语与思考

这次排查再次提醒我们,在构建复杂的 AI 环境(如我正在推行的 EPGF 架构 )时,外部依赖的解耦至关重要。

当本地工具尝试频繁与云端通信时,一旦网络通道出现非预期拦截,往往会引发看似莫名其妙的程序崩溃。保持核心配置的本地化,或在启动脚本中做好完善的环境隔离,才是长治久安之道。


博主简介:

深耕 AI 领域与环境治理体系,主打 EPGF(路径治理驱动的多版本 Python 架构)。擅长从底层源码角度解决 Windows 环境下各种"疑难杂症",欢迎关注,一起拆解 AI 技术的黑盒。

【EPGF 白皮书】路径治理驱动的多版本 Python 架构------ Windows 环境治理与 AI 教学开发体系
一次搭好、终身不乱Windows Python 环境治理(EPGF)系列总览 / 阅读路线图 [目录]


相关推荐
敲代码的猴先生1 小时前
论文分享 | 基于红绿列表的大语言模型水印技术
论文阅读·人工智能·深度学习·语言模型
算力魔方AIPC1 小时前
DeepX OCR:以 DeepX NPU 加速 PaddleOCR 推理,在 ARM 与 x86 平台交付可规模化的高性能 OCR 能力
arm开发·人工智能·ocr
BBTSOH159015160441 小时前
VR每日热点简报2026.1.22
人工智能·机器人·虚拟现实·遥操作
康康的AI博客1 小时前
从模型到生产:AI大模型落地工程实战指南
服务器·人工智能·ai
Tony Bai1 小时前
从“手搓 Prompt”到“无限循环”:AI 编码的下一个形态是“Ralph”吗?
人工智能·prompt
实战产品说1 小时前
从豆包日报下架,看到的字节战略和市场机会
人工智能·经验分享·学习·产品经理
ar01232 小时前
AR汽车智能巡检-汽车运维的新技术变革
人工智能·ar
OpenMiniServer2 小时前
从大统一逻辑链到后大模型时代:AI系统意识的必然演化
人工智能
福客AI智能客服2 小时前
体验突围:智能电商客服与AI客服软件重塑服务竞争新范式
人工智能