Javascript-Fehler: IPython ist in JupyterLab nicht definiert

75

Ich habe das neueste / aktualisierte Anaconda-Paket. Jedes Mal, wenn ich versuche, etwas mit Python 3.6.6 zu zeichnen, wird in JupyterLab der folgende Fehler angezeigt ...

Javascript-Fehler: IPython ist nicht definiert

Wenn ich denselben Code in Spyder mit einem Ipython-Kernel ausführe, funktioniert er einwandfrei. Ich habe überall online gesucht, kann aber nicht herausfinden, was los ist. Jede Hilfe wäre dankbar.

Ameisenmann
quelle
1
Die Installation der Erweiterung jupyter-matplotlib ist der Weg nach vorne, wie in der Antwort von TomNorway beschrieben, die meiner Meinung nach zur akzeptierten Antwort werden sollte. Tun Sie dies für eine schnelle Problemumgehung %matplotlib inline.
Nealmcb

Antworten:

45

Jupyter Lab unterstützt interaktive Matplotlib über die Erweiterung jupyter-matplotlib . Siehe TomNorways Antwort unten.

Alternativ können Sie matplotlib so konfigurieren, dass es inlinestattdessen verwendet wird. inlineist nicht so mächtig wie interactive, aber es kann dich retten.

Fügen Sie zur Verwendung inlinediese Linie hinzu, bevor Sie das Diagramm zeichnen:

    %matplotlib inline

Mehr Info

Palhares
quelle
4
Beachten Sie, dass das Zitat und der Link aus einem anderen Projekt stammen: nteractnicht Jupyter Lab. Und dies ist eine Problemumgehung. Es scheint, dass die jupyter-matplotlib-Erweiterung der Weg nach vorne ist, wie in einer separaten Antwort beschrieben, die meiner Meinung nach zur akzeptierten Antwort werden sollte. Aber danke - es ist in der Tat eine schnelle, hilfreiche Lösung!
Nealmcb
Dies hat bei mir in jupyter, jupyter lab und jetzt jupyter hub nicht funktioniert
HashRocketSyntax
65

Jupyter Lab unterstützt interaktive Matplotlib über die Erweiterung jupyter-matplotlib . Der Installationsvorgang ist etwas aufwendiger, funktioniert aber einwandfrei. Da für die ipympl Jupyter Lab-Version NodeJS und für NodeJS Windows 8.1 erforderlich sind, ist für ipympl auch diese Anforderung erforderlich.

Nach wie vor ist es wichtig, vor dem Plotten den iPython Magic-Befehl aufzurufen:

Verwendung:

%matplotlib widget

Installation:

Mit 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

Mit pip

pip install ipympl
# If using JupyterLab
conda install nodejs
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install jupyter-matplotlib
TomNorway
quelle
Auf meinem Computer wird Error displaying widgetdas Diagramm gedruckt und nicht angezeigt. jupyter labextension listBefehl druckt: @jupyter-widgets/jupyterlab-manager v0.38.1 enabled OK jupyter-matplotlib v0.3.0 enabled OK
Khan
Möglicherweise müssen Sie auf jupyter lab v 1.0 aktualisieren, das in den letzten Tagen veröffentlicht wurde. jupyter-matplotlib v0.3.1 wurde heute ebenfalls veröffentlicht. Versuchen Sie, diese zu installieren, führen Sie die obigen jupyter labextension-Befehle aus und melden Sie sich zurück.
TomNorway
1
Danke, ich habe jupyterlab benutzt v0.35, jetzt funktioniert alles super mitv1.0.2
Khan
1
jemand anderes, der die "npm-Abhängigkeiten konnte nicht installiert werden" in Ubuntu mit jupyterlab 1.1.1 erhält?
Kiyarash
1
Und aktivieren Sie diese Erweiterung auch mit jupyter nbextension enable --py widgetsnbextension. Und starten Sie das gesamte Notizbuch / Labor neu
Appaji Chintimi
0
  1. Jupyterlab unterstützt jpympl.

  2. Sie müssen %matplotlib widgetganz am Anfang des Jupyterlab setzen.

Sie können zu einer %matplotlib inlinebestimmten Zelle wechseln und %matplotlib widgetbei Bedarf wieder aktiv werden.

Andernfalls werden unabhängig davon, wie oft Sie das Paket neu installieren, die Fehler weiterhin angezeigt.

Ulysses
quelle
-2

Notwendigkeit der Verwendung %matplotlib inlinemit JupyterLab

%matplotlib inline 
import matplotlib.pyplot as plt
plt.plot([1,2,3])
AzizSM
quelle
3
"Inline" -Diagramme sind nicht interaktiv
Khan
JupyterLab unterstützt die Interaktion mit matplotlib. Sie tun dies einfach über die Erweiterung jupyter-matplotlib . Siehe Antwort oben.
Nealmcb