我创建了一个带有交互式滑块的表格,允许我在桌面上的不同时段之间切换。它在过去几天工作,直到今天,当我重新运行笔记本时,滑动条不再显示了。没有出现错误消息。代码似乎运行得很好,就像表格一样,但滑动条似乎没有出现。我也没有更改我的代码,因为我正在处理笔记本的一个单独部分。
我尝试了很多方法,包括在这个空间搜索,但仍无法提出解决方案。我想知道是否有人遇到类似的问题,并且有任何解决方案。
以下是我的代码段。以前的任何事情都只是为了让我的数据成为所需的表格形式。
from IPython.display import display
from ipywidgets import widgets, interactive
v = interactive(by_q, quarter=(['q1y2015', 'q2y2015', 'q3y2015', 'q4y2015']), days=(1, 180))
display(v)
答案 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上运行。