Integrazione del notebook jupyter (ipython) nel notebook in modalità org


10

c'è un modo in cui posso collegare i notebook jupyter (ipython) al notebook in modalità org? Allo stesso modo in cui è possibile inserire altri file (immagini)? Se è possibile, le uscite sono anche visualizzate nella nota (e gli ingressi sono eseguibili?) O solo il codice stesso? La guida di un manichino sarebbe molto più apprezzata dato che sono nuovo di Emacs e configurare le cose non è semplice.

Trascorro la maggior parte del mio tempo con i notebook Jupyter e cerco di documentare i vari passaggi come tutorial per i colleghi che potrebbero voler riprodurre i miei metodi (a volte sono inclusi frammenti di codice), oltre a discutere i risultati nel notebook in modalità org. È puramente perché il notebook in modalità org ha un'interfaccia molto più bella con sezioni / sottosezioni automatiche e facilmente accessibile a chiunque (ad esempio HTML). Se qualcuno volesse verificare la sensibilità di alcuni altri parametri, sarebbe stato molto più bello avere la possibilità di cambiare il codice all'interno della modalità org (senza la necessità di passare a Jupyter) e le cifre di output venivano generate automaticamente (come Jupyter) o qualsiasi altra uscita. Molte volte, devo esportare vari grafici da Jupyter per essere in grado di passare alla modalità org. Speravo di poter passare interamente alla modalità org e fare tutto il codice lì dentro.

Un notebook jupyter esempio con un sacco di uscite e grafici è dato qui , si avrebbe bisogno di installare Seaborn in quanto non viene come un pacchetto standard, se viene utilizzato Anaconda.


Non sono sicuro di cosa stai cercando di fare? Ipython salva i suoi notebook come ipynb, questo è solo un json, quindi dovrebbe essere semplice scrivere un parser per convertirlo in un file txt dell'organizzazione. Non sono sicuro che esistano già. D'altra parte, se vuoi rimanere in emacs e in modalità org, c'è il pacchetto emacs og-ipython. Ciò consente di utilizzare i blocchi src in modalità org per interagire con un kernel ipython, eseguire codice, grafici di output tutti all'interno di emacs. Questo è quello che uso principalmente perché mi rifiuto di lasciare emacs! Spero che sia di aiuto. github.com/gregsexton/ob-ipython
Seeralan S

1
John Kitchen ha scritto ox-ipynb che sembra fare qualcosa del genere. Non l'ho usato, ma potrebbe valere la pena provarlo. kitchingroup.cheme.cmu.edu/blog/2017/01/21/… E poiché sei nuovo, vale la pena menzionare il tutorial C-h te, se sei propenso, l'Introduzione a Emacs Lisp è un'ottima lettura: gnu. org / software / emacs / manual / eintr.html
Lorem Ipsum

Sono felice di scrivere un tutorial per farlo al fine di aiutare gli altri a fare ricerca riproducibile! Aggiorneresti la tua domanda con alcuni semplici esempi di casi d'uso e un flusso di lavoro. Ad esempio, vuoi inserire i file ipynp in modalità organizzazione? Generare file ipynp dalla modalità organizzazione? Tutti e due? Nessuno dei due? Il modo in cui aggiorni la tua domanda dovrebbe includere la risposta al motivo per cui vuoi farlo. Ad esempio, collaborazione con altri che non usano emacs + org-mode. Auguri!
Melioratus,

Grazie per tutti i tuoi commenti @Melioratus: chiavi d'uso aggiornate come richiesto.
Curtis,

Grazie! I tuoi aggiornamenti sono molto utili! Scrivere questo tutorial sarà un'esperienza di apprendimento divertente per me! Hai un notebook Jupyter con alcuni grafici che posso usare come riferimento per creare un file in modalità org con funzionalità simili. Un collegamento a un notebook Jupyter di esempio sarebbe utile per limitare l'ambito del tutorial.
Melioratus,

Risposte:


4

Nathaniel Nicandro ha recentemente rilasciato il suo pacchetto emacs jupyter per integrare ulteriormente la modalità org con jupyter. Come menzionato nel readme:

emacs-jupyter estende le funzionalità di ob-ipython integrando di più con la modalità org e fornendo una migliore interfaccia REPL al kernel.


Questa è una risposta migliore, penso, di ob-ipython, per i motivi che menziono nel mio commento a @ user3496846.
Trey,

1

Dai un'occhiata a ob-ipython : una libreria Emacs che consente alla modalità Org di valutare blocchi di codice usando un kernel Jupyter (Python di default) , potrebbe essere quello che stai cercando. Esegui codice su kernel ipython remoti con Emacs e orgmode fornisce un esempio di base usando esattamente quella libreria e ci sono anche altri articoli correlati su quel sito.


1
Vedi anche github.com/dzop/… come indicato nella risposta di @ prash di seguito. Tanto più che lo sviluppo sembra essersi fermato su ob-ipython (almeno come visibile da GitHub) e Nathaniel Nicandro ha aggiornato la versione del codice ob-ipython usato in emacs-jupyter, sembra essere il successore naturale, quindi probabilmente il migliore risposta in questo caso. Il solo README.org dovrebbe mostrarti cosa può fare, è piuttosto impressionante!
Trey,

@Trey Non ne ero a conoscenza, grazie per l'heads up!
user3496846
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.