如何克服“错误:在注册表中找不到对象'jupyter.widget'”?

我在 kubernetes 上的 jupyterhub 中运行 jupyterlab。


我正在尝试使用例如显示小部件


from ipywidgets import interact


@interact(x=(0, 100, 10))

def p(x=50):

    pass

实验室笔记本打印的不是预期的交互式小部件:


interactive(children=(IntSlider(value=50, description='x', step=10), Output()), _dom_classes=('widget-interact...

在检查 javascript 控制台时:


default.js:129 Error: Object 'jupyter.widget' not found in registry

    at default.js:1474

    at new Promise (<anonymous>)

    at Object.loadObject (default.js:1453)

    at DefaultKernel.<anonymous> (default.js:919)

    at Generator.next (<anonymous>)

    at default.js:9

    at new Promise (<anonymous>)

    at push.YC29.__awaiter (default.js:5)

    at DefaultKernel._handleCommOpen (default.js:911)

    at DefaultKernel.<anonymous> (default.js:1018)

我尝试了许多不同的组合:


!pip install ipywidgets

!pip install widgetsnbextension --upgrade

!pip install widgetslabextension --upgrade

!conda install -n base -y --override-channels -c main -c conda-forge widgetsnbextension ipywidgets nodejs

!jupyter nbextension enable --py widgetsnbextension

!jupyter labextension enable widgetsnbextension

!jupyter labextension list

!jupyter labextension install @jupyter-widgets/jupyterlab-manager

!jupyter lab clean

!jupyter lab build

!pip install --upgrade Nodejs

!npm install -g npm yarn

!jupyter serverextension enable --py jupyterlab --sys-prefix

jupyterlab 为 1.0.0,而 jupyterlab-manager 为 1.0。


一切就绪后,如何传播更改?


注意如果我重新启动 jupyterlab 容器将重新启动并且所有更改都将丢失。


我会做任何事情——打印版本、冻结点、运行测试、重新格式化/改写这个问题。


有没有人有一个远程线索如何解决这个问题?


GCT1015
浏览 81回答 3
3回答

Helenr

利用https://github.com/jupyter-widgets/ipywidgets/issues/2488#issuecomment-509719214在 jupyterlab 终端中 - 在 jupyterhub 上运行 - 执行:pythonversion=3.7labversion=0.34.12labmanagerversion=0.37.4ipywidgetsversion=7.4.2conda install ipywidgets=$ipywidgetsversion -c conda-forge -y --override-channels -c mainconda install jupyterlab=$labversion&nbsp; -y -c conda-forge --override-channels -c mainjupyter-labextension install @jupyter-widgets/jupyterlab-manager@$labmanagerversion在这一点上,jupyter lab clean; jupyter lab build可能会感兴趣。然后在同一个 jupyterlab 窗口中运行的 .ipynb 笔记本中,点击重启内核按钮。重要提示:不要忘记刷新浏览器页面 - 否则所有努力都将付诸东流。:\然后执行示例:from ipywidgets import interact@interact(x=(0, 100, 10))def p(x=50):&nbsp; &nbsp; pass我从没想过我会活着看到这一天,但是 - 嘿 presto - 小部件终于出现了!可悲的是,设置对其他扩展的安装非常敏感,并且兼容版本的组合非常具体。

慕斯709654

由于您尝试了几种可能的解决方案但均未成功,因此探索问题与 JupyterLab 和 kubernetes 如何在后端相互交互有关的可能性也许是明智的。如果这是问题所在,您可能需要将安装语句添加到底层容器文件并重新构建它,以便在构建时安装正确的扩展。你在使用 dockerfile 吗?您是否拥有编辑正在部署的底层软件容器的必要权限?如果其中任何一个都不是,是否有可以联系的系统管理员?

翻翻过去那场雪

我不在 k8s 上,但如果其他人在这里寻找同样的错误,我的解决方法是运行:jupyter&nbsp;labextension&nbsp;install&nbsp;@jupyter-widgets/jupyterlab-manager重启内核,重新加载页面等。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python