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 配置为使用 inline
。 inline
没有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的主要内容,如果未能解决你的问题,请参考以下文章