Integration des Jupyter-Notizbuchs (Ipython) in das Notizbuch im Organisationsmodus

10

Gibt es eine Möglichkeit, Jupiter-Notizbücher (ipython) mit dem Notizbuch im Org-Modus zu verknüpfen? Auf die gleiche Weise können andere Dateien (Bilder) eingebracht werden? Wenn es möglich ist, werden die Ausgaben auch in der Notiz angezeigt (und die Eingaben können ausgeführt werden?) Oder nur den Code selbst? Die Anleitung eines Dummys wäre viel willkommener, da ich neu in Emacs bin und die Konfiguration von Dingen nicht einfach ist.

Ich verbringe die meiste Zeit in Jupyter-Notizbüchern und versuche, die verschiedenen Schritte als Tutorial für Kollegen zu dokumentieren, die meine Methoden reproduzieren möchten (manchmal sind Codefragmente enthalten) und die Ergebnisse im Notizbuch im Organisationsmodus zu diskutieren. Das liegt nur daran, dass das Notizbuch im Org-Modus eine viel schönere Oberfläche mit automatischen Abschnitten / Unterabschnitten hat und für jedermann leicht zugänglich ist (z. B. HTML). Wenn jemand die Empfindlichkeit einiger anderer Parameter überprüfen wollte, wäre es viel schöner gewesen, den Code im Organisationsmodus zu ändern (ohne auf Jupyter umschalten zu müssen) und Ausgabezahlen werden automatisch generiert (wie bei Jupyter). oder andere Ausgänge. Oft muss ich verschiedene Diagramme aus Jupyter exportieren, um sie in den Organisationsmodus zu bringen. Ich hatte gehofft, ob ich vollständig in den Org-Modus wechseln und dort die gesamte Codierung durchführen kann.

Ein Beispiel jupyter Notebook mit vielen Ausgängen und Grafiken gegeben ist hier müßten Sie Seaborn installieren , da es nicht als Standard - Paket kommt , wenn Anaconda verwendet wird.

Curtis
quelle
Ich bin nicht sicher, was Sie versuchen zu tun? Ipython speichert seine Notizbücher als ipynb, dies ist nur ein json, daher sollte es einfach sein, einen Parser zu schreiben, um ihn in eine org txt-Datei zu konvertieren. Ich bin mir nicht sicher, ob sie bereits existieren. Wenn Sie dagegen im Emacs-Modus und im Organisationsmodus bleiben möchten, gibt es das Emacs-Paket og-ipython. Auf diese Weise können Sie die src-Blöcke im org-Modus verwenden, um mit einem ipython-Kernel zu interagieren, Code auszuführen und Diagramme innerhalb von Emacs auszugeben. Das benutze ich meistens, weil ich mich weigere, Emacs zu verlassen! Hoffe das hilft. github.com/gregsexton/ob-ipython
Seeralan S
1
John Kitchen hat Ochsen-Ipynb geschrieben, was so etwas zu tun scheint. Ich habe es nicht benutzt, aber es könnte sich lohnen, es zu versuchen. kitchingroup.cheme.cmu.edu/blog/2017/01/21/… Und weil Sie neu sind, sollten Sie das Tutorial erwähnen, C-h tund wenn Sie dazu neigen, ist die Einführung in Emacs Lisp eine ausgezeichnete Lektüre: gnu. org / software / emacs / manual / eintr.html
Lorem Ipsum
Gerne schreibe ich dazu ein Tutorial, um anderen bei der Reproduzierbaren Forschung zu helfen! Würden Sie Ihre Frage mit einigen einfachen Anwendungsfallbeispielen und einem Workflow aktualisieren? Möchten Sie beispielsweise ipynp-Dateien in den Organisationsmodus ziehen? IPynp-Dateien aus dem Organisationsmodus generieren? Beide? Weder? Wie Sie Ihre Frage aktualisieren, sollte die Antwort darauf enthalten, warum Sie dies tun möchten. Zum Beispiel die Zusammenarbeit mit anderen, die Emacs + Org-Modus nicht verwenden. Die besten Wünsche!
Melioratus
Vielen Dank für alle Ihre Kommentare. @Melioratus - Aktualisierte Verwendungsschlüssel wie gewünscht.
Curtis
Vielen Dank! Ihre Updates sind sehr hilfreich! Das Schreiben dieses Tutorials macht mir Spaß! Haben Sie ein Jupyter-Notizbuch mit einigen Grafiken, die ich als Referenz zum Erstellen einer Datei im Organisationsmodus mit ähnlichen Funktionen verwenden kann? Ein Link zu einem Beispiel-Jupyter-Notizbuch wäre hilfreich, um den Umfang des Tutorials einzuschränken.
Melioratus

Antworten:

4

Nathaniel Nicandro hat kürzlich sein Emacs-Paket jupyter veröffentlicht , um den Org-Modus weiter in jupyter zu integrieren. Wie in der Readme-Datei erwähnt:

emacs-jupyter erweitert die Funktionen von ob-ipython, indem es mehr in den org-Modus integriert und eine bessere REPL-Schnittstelle zum Kernel bereitstellt.

prash
quelle
Dies ist aus den Gründen, die ich in meinem Kommentar zu @ user3496846 erwähne, eine bessere Antwort als ob-ipython.
Trey
1

Check out ob-ipython : Eine Emacs-Bibliothek, die es dem Org-Modus ermöglicht, Codeblöcke mit einem Jupyter-Kernel (standardmäßig Python) auszuwerten. Möglicherweise ist dies genau das, wonach Sie suchen. Das Ausführen von Code auf Remote-Ipython-Kerneln mit Emacs und orgmode bietet ein grundlegendes Beispiel für die Verwendung genau dieser Bibliothek. Weitere verwandte Artikel finden Sie auf dieser Site.

user3496846
quelle
1
Siehe auch github.com/dzop/…, wie in der Antwort von @ prash unten erwähnt. Besonders da die Entwicklung auf ob-ipython (zumindest wie aus GitHub ersichtlich) zum Stillstand gekommen zu sein scheint und Nathaniel Nicandro die in emacs-jupyter verwendete Version des ob-ipython-Codes aktualisiert hat, scheint es der natürliche Nachfolger zu sein, also wahrscheinlich der bessere Antwort in diesem Fall. Die README.org allein sollten Sie zeigen , was es tun kann, es ist ziemlich beeindruckend!
Trey
@Trey Ich war mir dessen nicht bewusst, danke für das Heads-up!
user3496846