IPython Notebook ipywidgets未显示

时间:2016-04-01 08:03:22

标签: python jupyter-notebook ipywidgets

我创建了一个带有交互式滑块的表格,允许我在桌面上的不同时段之间切换。它在过去几天工作,直到今天,当我重新运行笔记本时,滑动条不再显示了。没有出现错误消息。代码似乎运行得很好,就像表格一样,但滑动条似乎没有出现。我也没有更改我的代码,因为我正在处理笔记本的一个单独部分。

我尝试了很多方法,包括在这个空间搜索,但仍无法提出解决方案。我想知道是否有人遇到类似的问题,并且有任何解决方案。

以下是我的代码段。以前的任何事情都只是为了让我的数据成为所需的表格形式。

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

7 个答案:

答案 0 :(得分:59)

使用新版本的ipywidgets,我遇到了这个问题,但后来我在their github readme找到了您现在需要关注的问题

pip install ipywidgets

jupyter nbextension enable --py widgetsnbextension

这清除了我的问题。

答案 1 :(得分:3)

在无望地搜索了一段时间之后,我意识到我需要

jupyter labextension install @jupyter-widgets/jupyterlab-manager

答案 2 :(得分:2)

我认为plot.ly会导入一个名为display的函数,该函数会覆盖ipython中的函数display。尝试更改导入顺序或只是以不同的名称导入该功能

答案 3 :(得分:2)

可能是我的一个愚蠢的错误,但如果您使用的是虚拟环境,请正确记住从哪里运行的内容。

您可以根据需要在当前环境中正确运行Jupyter,或者可能有一个root env,您始终可以从中启动Jupyter,最终将用于所有环境。

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

答案 4 :(得分:2)

如果您已经在Jupyter中安装了ipywidgets的[较旧版本],并且遇到了此问题(在浏览器控制台中可能会看到javascript错误),则需要运行install命令来更新相关文件,例如:

jupyter nbextension install --user --py widgetsnbextension

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

jupyter nbextension enable --user --py widgetsnbextension

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

答案 5 :(得分:0)

添加到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

答案 6 :(得分:0)

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