2017-09-11 2 views
1

In einem Jupyter Notebook, ein „Zelle magic“ Befehl (mit dem Präfix zwei Prozentzeichen) endet am Ende der Zelle endete und wird automatisch aufgerufen:Jupyter - mehrzeilige Magie Befehl in der Konsole

%%timeit in Jupyter notebook

aber wenn ich die gleiche Sache in der Jupyter Konsole versuchen, den Befehl niemals endet, nach einer beliebigen Anzahl von Leerzeilen:

enter image description here

das geschieht nur, wenn ich IPython als jupyter console aufrufen obwohl. Wenn ich IPython aufrufen direkt als ipython, schließt die Zelle Magie Befehl nach einer Leerzeile:

enter image description here

Für jedes Beispiel wurden die Versionen von Python und IPython sind identisch: Python 3.5.2 und IPython auf 6.1.0 eine Maschine (installiert mit Pip), Python 3.4.5 und IPython 5.1.0 auf einer anderen (installiert mit Conda).

Ist das ein Fehler? Oder gibt es Jupyter-Standardkonfiguration für IPython, die sich von IPythons eigener Standardkonfiguration unterscheidet?

Antwort

1

Ja, es ist ein Fehler, die Zellenmagie soll nach 2 neuen Zeilen enden. Die Jupyter-Konsole ist weit unter Kontrolle - wir sind uns nicht bewusst, dass viele Leute sie benutzen und es gibt viele Probleme.

Technisch ich glaube die jupyter Konsole nicht (oder Respekt), um die „is_complete“ Nachricht aus dem Protokoll, das ihm, ob der Code-Snippet sagen sollte soll eingefügt werden soll ein Newline ausgeführt oder wenn sein.

Sie können versuchen, einen Fehlerbericht zu öffnen, aber der Fix wird wahrscheinlich nicht schnell implementiert, es sei denn, jemand macht eine PR.

Verwandte Themen