You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JupyterLab中ipywidgets无法显示,报JavaScript版本兼容错误

解决JupyterLab中ipywidgets版本不兼容导致的JavaScript加载错误

问题核心

JupyterHub环境下,将ipywidgets从8.0.2降级到7.x版本(因voila兼容要求)后,JupyterLab运行测试代码时出现JavaScript错误:无法从@jupyter-widgets/controls模块加载VBoxModel类,所需版本^1.5.0未注册,当前已注册版本为2.0.0。

原因分析

ipywidgets的Python包与前端JupyterLab扩展版本强绑定:

  • ipywidgets 8.x 对应前端扩展@jupyter-widgets/controls 2.x
  • ipywidgets 7.x 对应前端扩展@jupyter-widgets/controls 1.x
    降级Python包后,前端扩展未同步降级,导致版本不匹配,触发加载错误。

解决步骤

  1. 彻底清理旧依赖与扩展

    pip uninstall -y ipywidgets widgetsnbextension jupyterlab_widgets
    jupyter lab clean
    
  2. 安装指定兼容版本的ipywidgets及对应前端扩展
    以7.7.2版本为例(兼容voila且稳定):

    pip install ipywidgets==7.7.2
    jupyter labextension install @jupyter-widgets/jupyterlab-manager@3.0.5
    
  3. 重建JupyterLab并重启服务

    jupyter lab build
    

    完成后重启JupyterHub或JupyterLab服务。

验证方法

  • 运行测试代码,检查浏览器控制台是否仍有JS错误
  • 查看已安装包版本:pip list | grep ipywidgets
  • 查看前端扩展状态:jupyter labextension list,确认@jupyter-widgets/jupyterlab-manager版本为3.x

用户提供的相关信息

测试代码

import ipywidgets as widgets
from IPython.display import display

vbox = widgets.VBox([widgets.Label("测试VBox")])
display(vbox)

错误日志

无法从@jupyter-widgets/controls模块加载VBoxModel类,所需版本^1.5.0未注册,当前已注册版本为2.0.0。

已安装包列表(降级后)

ipywidgets               7.7.2
widgetsnbextension      3.6.5
jupyterlab_widgets       1.1.7

内容的提问来源于stack exchange,提问作者Jonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:40:33