【故障解析】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)系列总览 / 阅读路线图 [目录]


相关推荐
NAGNIP3 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab4 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab4 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP7 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年8 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼8 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS8 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
warm3snow8 小时前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
天翼云开发者社区9 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈9 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能