Javascript 错误:JupyterLab 中未定义 IPython

Posted

技术标签:

【中文标题】Javascript 错误:JupyterLab 中未定义 IPython【英文标题】:Javascript Error: IPython is not defined in JupyterLab 【发布时间】:2019-01-26 02:17:36 【问题描述】:

我有最新/更新的 Anaconda 软件包。每次我尝试使用 python 3.6.6 绘制某些东西时,我都会在 JupyterLab 中收到以下错误...

javascript 错误:未定义 IPython

当我使用 ipython 内核在 Spyder 中运行相同的代码时,它工作得很好。一直在网上寻找,但似乎无法弄清楚发生了什么。 任何帮助,将不胜感激。

【问题讨论】:

安装jupyter-matplotlib extension 是前进的道路,如TomNorway 的回答中所述,我认为这应该成为公认的答案。如需快速解决方法,请执行%matplotlib inline 【参考方案1】:

Jupyter Lab 确实通过 jupyter-matplotlib extension 支持交互式 matplotlib。安装过程稍微复杂一些,但工作正常。由于ipympl Jupyter Lab版本需要NodeJS,而NodeJS需要Windows 8.1,所以ipympl也有这个要求。

和以前一样,在绘图之前调用 iPython 魔法命令很重要:

用法:

%matplotlib widget

安装:

注意:如果将此扩展与 Jupyter Lab 一起使用,建议使用 >= 3 的版本。有关安装旧扩展的详细说明,请参阅instructions on ipympl github。

使用 conda

conda install -c conda-forge ipympl

# If using JupyterLab 2
conda install nodejs
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter lab build

# Later, if updating a previous Lab install:
conda install ipympl
jupyter lab build

使用点子

pip install ipympl

# If using JupyterLab 2
pip install nodejs
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install jupyter-matplotlib

【讨论】:

在我的机器上打印 Error displaying widget 并且不显示图表。 jupyter labextension list 命令打印:@jupyter-widgets/jupyterlab-manager v0.38.1 enabled OK jupyter-matplotlib v0.3.0 enabled OK 谢谢,我一直在使用 jupyterlab v0.35,现在使用 v1.0.2 一切正常 其他在 ubuntu 中使用 jupyterlab 1.1.1 获得“npm 依赖项安装失败”的人? 并且还使用jupyter nbextension enable --py widgetsnbextension 启用该扩展。并重新启动整个笔记本/实验室 看来nodejs不再需要手动安装了。【参考方案2】:

Jupyter Lab 确实通过 jupyter-matplotlib 扩展支持交互式 matplotlib。见TomNorway's answer。

或者,您可以将 matplotlib 配置为使用 inlineinline没有interactive强大,但可以救你。

要使用inline,请在绘制图形之前添加此行:

    %matplotlib inline

More Info

【讨论】:

请注意,引用和链接来自不同的项目:nteract,而不是 Jupyter Lab。这是一种解决方法。看来jupyter-matplotlib extension 是前进的道路,如单独的答案中所述,我认为这应该成为公认的答案但是谢谢 - 这确实是一个快速、有用的修复! 这在 jupyter、jupyter 实验室和现在的 jupyter hub 中对我不起作用 不工作 jupyterlab。【参考方案3】:

    Jupyterlab 支持 jpympl。

    你必须把%matplotlib widget放在jupyterlab的最开始。

您可以在特定单元格中更改为%matplotlib inline,并在需要时再次激活%matplotlib widget

否则,无论你重装多少次,还是会报错。

【讨论】:

【参考方案4】:

在使用 backtrader 时遇到了类似的问题。 这为我解决了问题:

cerebro.plot(iplot = False)

【讨论】:

【参考方案5】:

当我尝试在我的 jupyter 笔记本中显示 html 格式的内容时,我在 jupyter 笔记本中没有定义 Ipython,我刚刚导入了该函数并且它工作了

from IPython.core.display import display, HTML # my imports

annot = coco_dataset.display_image(21, use_url=False) #my function return a html page

HTML(annot) # used for displaying the page

【讨论】:

【参考方案6】:

我可以通过安装ipympl来解决同样的问题:

pip install ipympl

然后在绘图前添加%matplotlib ipympl

【讨论】:

以上是关于Javascript 错误:JupyterLab 中未定义 IPython的主要内容,如果未能解决你的问题,请参考以下文章

Dataproc 上的 Jupyterlab - 403 错误 - 无法读取未定义的属性“路径”

如何在 JupyterLab 中读取本地 csv 文件?

jupyterlab as win service

jupyter lab最强代码补全插件

Jetson Nano开机启动JupyterLab

JupyterLab:在 JupyterLab 中切换下一个/上一个选项卡的键盘快捷键