Javascript Error: IPython is not defined in JupyterLab

JavascriptIpythonJupyter Lab

Javascript Problem Overview


I have the latest/updated Anaconda package. Everytime I try to plot something using python 3.6.6 I get the following error in JupyterLab...

> Javascript Error: IPython is not defined

When I run the same code in Spyder using an ipython kernel, it works just fine. Have been looking all over online but cant seem to figure out what is going on. Any help would be appreciated.

Javascript Solutions


Solution 1 - Javascript

Jupyter Lab does support interactive matplotlib through the jupyter-matplotlib extension. The installation procedure is slightly more involved, but works fine. Since the ipympl Jupyter Lab version requires NodeJS, and NodeJS requires Windows 8.1, ipympl also has this requirement.

As before, it is important to invoke the iPython magic command before plotting:

Usage:

%matplotlib widget

Installation:

Note: If using this extension with Jupyter Lab, it's recommended to use a version >= 3. For more detailed instructions on installing an old extension than below, see the instructions on ipympl github.

Using 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

Using pip

pip install ipympl

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

Solution 2 - Javascript

Jupyter Lab does support interactive matplotlib through the jupyter-matplotlib extension. See TomNorway's answer.

Alternatively, you can configure matplotlib to use inline instead. inline is not as powerful as interactive, but it can save you.

To use inline, add this line before plot the graph:

    %matplotlib inline

More Info

Solution 3 - Javascript

I could solve the same problem by installing ipympl:

pip install ipympl

And then add %matplotlib ipympl before plot.

Solution 4 - Javascript

Encountered similar issue when using backtrader. This fixed it for me:

cerebro.plot(iplot = False)

Solution 5 - Javascript

  1. Jupyterlab supports jpympl.

  2. You must put %matplotlib widget in the very beginning of the jupyterlab.

You can change to %matplotlib inline in specific cell, and active %matplotlib widget again if needed.

Otherwise, no matter how many times you reinstall the package, you will still get the errors.

Solution 6 - Javascript

I was getting Ipython not defined in jupyter notebook when I tried to display a html formated content in my jupyter notebook, I just imported the function and it worked

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAntManView Question on Stackoverflow
Solution 1 - JavascriptTomNorwayView Answer on Stackoverflow
Solution 2 - JavascriptpalharesView Answer on Stackoverflow
Solution 3 - JavascriptKeivanView Answer on Stackoverflow
Solution 4 - Javascriptuser17557081View Answer on Stackoverflow
Solution 5 - JavascriptUlyssesView Answer on Stackoverflow
Solution 6 - Javascriptburhan rashidView Answer on Stackoverflow