快速结论:在 Gradio 5.31.0 中,给 gr.Number() 绑定 .blur() 事件会直接抛出 AttributeError: 'Number' object has no attribute 'blur',原因在于该组件未实现 blur 事件。该问题已在 Issue #11261 中被修复并关闭,遇到此报错时优先升级 Gradio。
适用环境:Windows;Gradio 5.31.0;gradio_client 1.10.1;Python 依赖版本见 Issue 原文,未确认 Python 解释器版本、CUDA 或显卡信息。
最快修复方案:暂无确认的一步修复方案(Issue 正文和评论摘要未给出具体 PR 号或已验证的安装命令)。可优先尝试将 Gradio 升级到包含该修复的版本,再调用 number.blur(...)。
注意事项:Issue 中的评论包含“让 gr.Number 继承自 gr.Textbox”等改造建议,属于讨论性意见,不代表最终修复方式;升级前请核对目标版本是否包含 #11261 的修复。
问题场景
用户在 Windows 上运行 Gradio 5.31.0 脚本,创建 gr.Number() 组件后调用 number.blur() 注册失焦事件,触发 AttributeError。Issue 指出 gr.Textbox 的 @document 装饰器包含 "blur",而 gr.Number 的装饰器只有 "change"、"submit"、"style",最新的 gr.Number 文档中也未列出该事件。
报错原文
Traceback (most recent call last):
File "C:\Users\user\projects\gradio-sandbox\src\__main__.py", line 19, in <module>
number.blur()
^^^^^^^^^^^
AttributeError: 'Number' object has no attribute 'blur'
原因分析
最可能的原因是 gr.Number 组件未注册 blur 事件:Issue 对照源码指出,gr.Textbox 声明了 @document("change", "submit", "blur", "style"),而 gr.Number 仅有 @document("change", "submit", "style")。在包含该缺陷的版本中,number.blur 属性不存在,因此调用即报错。
环境排查
- 确认当前安装的 Gradio 版本:Issue 中出问题的是 5.31.0。
- 确认
gradio_client版本是否与 Gradio 匹配(Issue 中为 1.10.1)。 - 确认目标版本是否已包含 #11261 的修复(该 Issue 已于 2025-05-27 关闭)。
- Python 解释器版本、CUDA、显卡等信息 Issue 未提供,不属于本次排查范围。
解决步骤
- 运行环境检查,确认
gradio的实际版本,避免仅看依赖清单。 - 将 Gradio 升级到包含 #11261 修复的版本;具体版本号请以对应发行说明和修复 PR 为准。
- 升级后用 Issue 中的复现脚本最小化验证:创建
gr.Number()并调用number.blur(),确认不再抛出 AttributeError。 - 若目标版本仍无此事件,可优先尝试 Issue 评论中给出的变通写法:用
gr.render配合gr.State保存数值,在渲染函数内创建gr.Number并绑定blur。该写法是评论者提供的复现/验证代码,Issue 未明确标注其作为正式修复验证通过,使用前需自行测试。
验证方法
运行复现脚本,确认 number.blur(...) 不再抛出 AttributeError;再启动界面,在数字输入框中输入后点击其他区域触发失焦,确认绑定的 blur 回调被正常执行。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


![[Bug]: /v1/messages still answers auth, model-access and malformed-JSON errors in the OpenAI error shape](https://www.chat-gpts.plus/wp-content/uploads/2026/11/47948-a2d3e504-768x403.jpg)