IPython 笔记本 ipywidgets 不显示

IPython Notebook ipywidgets does not show

我创建了一个带有交互式滑块的 table,它允许我在 table 的不同时期之间切换。这几天一直在用,直到今天重新运行记事本的时候,滑动条不显示了。没有错误消息出现。代码似乎 运行 就好了,因为 table 出现了,但是滑动条没有出现。我也没有更改我的代码,因为我正在处理笔记本的单独部分。

我尝试了很多方法,包括在这个 space 中搜索,但仍然无法找到解决方案。想请问有没有人遇到过类似的问题,有什么解决办法。

下面是我的代码片段。之前的任何事情都只是为了将我的数据转换成所需的表格形式。

from IPython.display import display
from ipywidgets import widgets, interactive
v = interactive(by_q, quarter=(['q1y2015', 'q2y2015', 'q3y2015', 'q4y2015']), days=(1, 180))
display(v)

我认为 plot.ly 导入了一个名为 display 的函数,它覆盖了 ipython 中的函数 display。尝试更改导入顺序或简单地以不同的名称导入函数

随着 ipywidgets 的新版本,我 运行 遇到了这个问题,但后来我在 their github readme 上发现您现在需要遵循

pip install ipywidgets

jupyter nbextension enable --py widgetsnbextension

注意:对于那些使用虚拟环境(包括 conda 环境)的人,推荐的激活扩展的方法是 运行

jupyter nbextension enable --py --sys-prefix widgetsnbextension

这为我解决了问题。

可能是我犯的一个愚蠢的错误,但如果您使用的是虚拟环境,请牢记运行从哪里来的东西。

您可能会根据需要每次都从当前环境中正确地 运行 Jupyter,或者可能有一个根环境,您始终从中启动最终将用于所有环境的 Jupyter。

对于后一种情况,您需要确保为您实际上 运行 正在使用的 Jupyter 启用 nbextension,而不是错误地 运行 来自您当前活动环境中的命令。

在谷歌了一段时间没有希望后,我意识到我需要

jupyter labextension install @jupyter-widgets/jupyterlab-manager

如果您已经在 J​​upyter 中安装了 [旧版本] ipywidgets 并且您遇到了这个问题(您可能会在浏览器控制台中看到 javascript 错误)那么你需要运行 install 命令来更新相关文件例如:

jupyter nbextension install --user --py widgetsnbextension

您可能还需要重新运行 enable 命令,例如:

jupyter nbextension enable --user --py widgetsnbextension

注意:如果您使用的是 virtualenv 或其他环境,--user 参数可能需要不同 - 有关更多详细信息,请参阅 ipywidget docs

添加到 Alexander Svetly 的回答中,运行:

jupyter labextension install @jupyter-widgets/jupyterlab-manager

似乎卡住了,通过添加 --debug 我能够看到哪里:

jupyter labextension install --debug @jupyter-widgets/jupyterlab-manager
[...]
npm notice   @jupyter-widgets/jupyterlab-manager@3.0.0-alpha.2
[...]
Fetching URL: https://registry.yarnpkg.com/@jupyter-widgets%2Fjupyterlab-manager

看起来它正在尝试安装第 3 版,但我使用的是 Jupyter Lab 的 2.2.9 版,所以最终起作用的是:

jupyter nbextension enable --py widgetsnbextension --sys-prefix
jupyter labextension install --debug @jupyter-widgets/jupyterlab-manager@2.0

显然,如果您尝试在虚拟环境中使用它并在 vscode 上使用 运行ning,那么 jupyter notebook 本身的工作效率不高,但它可以使用 ipython <notebook_name>,但在那种情况下,您将无法可视化小部件。所以最好的方法是做 jupyter notebook <notebook name>,这将在 chrome 上打开笔记本,然后先更改内核,即选择您的虚拟环境和 chrome 上的 运行。

致来自 jupyterlab 的所有人

请检查在 Jupyter 3.0 中运行的步骤docs

请检查使其在 Jupyter 1 0r 2 中运行的步骤 docs

在此之后重新启动或构建实验室以查看更改