Javascript错误:JupyterLab中未定义IPython


77

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

Javascript错误:未定义IPython

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


2
如tomNorway的答案所述,安装jupyter-matplotlib扩展是前进的道路,我认为这应该成为公认的答案。要快速解决,请执行%matplotlib inline
nealmcb

Answers:


47

Jupyter Lab确实通过jupyter-matplotlib扩展支持交互式matplotlib 。参见TomNorway的答案。

或者,您可以配置matplotlibinline代替使用。inline不如强大interactive,但可以节省您的费用。

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

    %matplotlib inline

更多信息


5
请注意,引号和链接来自其他项目:nteract,而不是Jupyter Lab。这是一种解决方法。似乎jupyter-matplotlib扩展是前进的道路,如单独的答案所述,我认为它应该成为公认的答案。但是,谢谢-这确实是一种快速,有用的解决方法!
nealmcb

1
在jupyter,jupyter实验室以及现在的jupyter枢纽中,这对我不起作用
HashRocketSyntax

69

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

和以前一样,在绘制之前调用iPython magic命令很重要:

用法:

%matplotlib widget

安装:

使用conda

conda install -c conda-forge ipympl

# If using JupyterLab
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
conda 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
可汗

您可能需要更新到最近几天发布的jupyter lab v 1.0。jupyter-matplotlib v0.3.1也于今天发布。尝试安装这些命令,运行上面的jupyter labextension命令,然后报告。
TomNorway

1
谢谢你,我一直在使用jupyterlab v0.35,现在一切都与伟大工程v1.0.2

1
是否有人通过jupyterlab 1.1.1在ubuntu中获得“无法安装npm依赖项”?
kiyarash

1
并使用启用该扩展jupyter nbextension enable --py widgetsnbextension。并重新启动整个笔记本/实验室
Appaji Chintimi

0
  1. Jupyterlab支持jpympl。

  2. 您必须%matplotlib widget首先输入jupyterlab。

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

否则,无论您重新安装软件包多少次,您仍然会收到错误消息。


-2

需要%matplotlib inline与JupyterLab一起使用

%matplotlib inline 
import matplotlib.pyplot as plt
plt.plot([1,2,3])

3
“内联”地块不是交互式的
Khan Khan

JupyterLab确实支持与matplotlib进行交互。他们只是通过jupyter-matplotlib扩展来做到这一点 。请参阅上面的答案。
nealmcb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.