Jupyter Lab控件不再工作ipywidgets与ipympl



我一直使用以下工作流程来全面更新我的Jupyter Lab工作环境:

$ rmvirtualenv my_env
$ mkvirtualenv --python=`which python` my_env
[my_env] $ pip install -r requirements.txt
[my_env] $ jupyter lab build
[my_env] $ jupyter lab

然而最近,在这些步骤之后:

  1. 我的小部件都变得没有功能。我可以操作它们并与它们交互,但它们控制的数字根本不会改变。
  2. 所有控件控件都从它们控制的图形的上方移动到图形的下方。

virtualenvs中最近没有以这种方式更新的项目继续正常工作,并且可靠地更新它们会使它们停止工作。

这种情况经常发生(我现在已经破坏了六个项目来证实这种模式),甚至对于托管在我本地机器之外的笔记本(比如托管在Binder上的这个)也是如此。当没有使用ipymple时,控件控件本身似乎工作得很好(例如,在像这样的笔记本中)。我也确认观察到的行为是独立于浏览器和本地机器(至少macOS vs iOS)。

最近是否有Jupyter Lab、ipywidgets或ipympl的一些变化可能导致这种情况?


典型的post - update(非工作)配置:

$ jupyter --version
Selected Jupyter core packages...
IPython          : 8.4.0
ipykernel        : 6.13.1
ipywidgets       : 7.7.0
jupyter_client   : 7.3.4
jupyter_core     : 4.10.0
jupyter_server   : 1.17.1
jupyterlab       : 3.4.3
nbclient         : 0.6.4
nbconvert        : 6.5.0
nbformat         : 5.4.0
notebook         : 6.4.12
qtconsole        : not installed
traitlets        : 5.2.2
$ jupyter labextension list 
JupyterLab v3.4.3
/Users/Rax/Documents/Projects/Coding/Python/venvs/picollisions/share/jupyter/labextensions
jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
nbdime-jupyterlab v2.1.1 enabled OK
jupyter-matplotlib v0.11.1 enabled OK
@jupyterlab/git v0.37.1 enabled OK (python, jupyterlab-git)
@jupyter-widgets/jupyterlab-manager v3.1.0 enabled OK (python, jupyterlab_widgets)
@kiteco/jupyterlab-kite v2.0.2 enabled OK (python, jupyterlab_kite)
Other labextensions (built into JupyterLab)
app dir: /Users/Rax/Documents/Projects/Coding/Python/venvs/picollisions/share/jupyter/lab

典型的更新前(工作)配置:

$ jupyter --version
jupyter core     : 4.7.1
jupyter-notebook : 6.4.3
qtconsole        : not installed
ipython          : 7.26.0
ipykernel        : 6.2.0
jupyter client   : 6.1.12
jupyter lab      : 3.1.10
nbconvert        : 6.1.0
ipywidgets       : 7.6.4
nbformat         : 5.1.3
traitlets        : 5.0.5
jupyter labextension list
JupyterLab v3.1.10
/Users/Rax/Documents/Projects/Coding/Python/venvs/picollisions/share/jupyter/labextensions
nbdime-jupyterlab v2.1.0 enabled OK
jupyter-matplotlib v0.9.0 enabled OK
@jupyterlab/git v0.32.2 enabled OK (python, jupyterlab-git)
@jupyter-widgets/jupyterlab-manager v3.0.0 enabled OK (python, jupyterlab_widgets)
@kiteco/jupyterlab-kite v2.0.2 enabled OK (python, jupyterlab_kite)
/usr/local/share/jupyter/labextensions
jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
Other labextensions (built into JupyterLab)
app dir: /Users/Rax/Documents/Projects/Coding/Python/venvs/picollisions/share/jupyter/lab
典型要求:

#...
ipywidgets                 
ipympl
jupyterlab >=3.1                
jupyterlab-git                 
jupyterlab-kite >=2.0.2        

我试过忽略凯特,看看这是否是罪魁祸首。在任何情况下,它都不存在于Binder版本中。

注意,这里有一个正在排序的bug。

当前选项:

1

如果您将fig.canvas.draw()添加到plot_logisitic的最后一行,正如@ianhi在这里所建议的那样,您的代码将与给您带来问题的包版本一起工作。
这种方法还有一个额外的好处,那就是它实际上是当前的最佳实践&。

2

如果您不想添加,请使用旧版本。从这里发射的电流会导致这种情况。原始代码(未添加fig.canvas.draw())工作的相关项目的版本在这里。

相关内容

  • 没有找到相关文章

最新更新