Intégration du bloc-notes jupyter (ipython) dans le bloc-notes en mode organisation

10

existe-t-il un moyen de lier des blocs-notes jupyter (ipython) au bloc-notes en mode org? De la même manière que d'autres fichiers (images) peuvent être importés? S'il est possible, les sorties sont-elles également visibles dans la note (et les entrées sont exécutables?), Ou seulement le code lui-même? Un guide factice serait beaucoup plus apprécié car je suis nouveau sur emacs et la configuration des choses n'est pas simple.

Je passe la plupart de mon temps dans les blocs-notes Jupyter et j'essaie de documenter les différentes étapes comme un didacticiel pour les collègues qui souhaitent reproduire mes méthodes (parfois des extraits de code sont inclus) ainsi que pour discuter des résultats dans le bloc-notes en mode org. C'est simplement parce que le bloc-notes en mode organisation a une interface beaucoup plus agréable avec des sections / sous-sections automatiques et facilement accessible pour n'importe qui (par exemple HTML). Si quelqu'un voulait vérifier la sensibilité de certains autres paramètres, il aurait été beaucoup plus agréable d'avoir la possibilité de changer le code en mode org (sans avoir besoin de passer à Jupyter) et les chiffres de sortie sont générés automatiquement (comme Jupyter) ou toute autre sortie. La plupart du temps, je dois exporter divers graphiques de Jupyter pour pouvoir passer en mode org. J'espérais pouvoir passer entièrement en mode org et faire tout le codage là-dedans.

Un exemple de cahier jupyter avec beaucoup de sorties et de graphiques est donné ici , vous auriez besoin d'installer seaborn car il ne vient pas en tant que paquet standard si Anaconda est utilisé.

Curtis
la source
Je ne sais pas ce que vous essayez de faire? Ipython enregistre ses blocs-notes sous ipynb, ce n'est qu'un json, il devrait donc être simple d'écrire un analyseur pour le convertir en un fichier org txt. Je ne sais pas s'ils existent déjà. D'un autre côté, si vous souhaitez rester dans emacs et en mode org, il y a le paquet emacs og-ipython. Cela vous permet d'utiliser les blocs src en mode org pour interagir avec un noyau ipython, exécuter du code, tracer les sorties dans emacs. C'est ce que j'utilise surtout parce que je refuse de quitter emacs! J'espère que cela t'aides. github.com/gregsexton/ob-ipython
Seeralan S
1
John Kitchen a écrit ox-ipynb qui semble faire quelque chose comme ça. Je ne l'ai pas utilisé, mais cela pourrait valoir la peine d'essayer. kitchingroup.cheme.cmu.edu/blog/2017/01/21/… Et parce que vous êtes nouveau, il convient de mentionner le didacticiel, C-h tet, si vous êtes enclin, l'introduction à Emacs Lisp est une excellente lecture: gnu. org / software / emacs / manual / eintr.html
Lorem Ipsum
Je suis heureux d'écrire un tutoriel pour le faire afin d'aider les autres à faire de la recherche reproductible! Souhaitez-vous mettre à jour votre question avec quelques exemples de cas d'utilisation simples et un flux de travail. Par exemple, voulez-vous faire passer des fichiers ipynp en mode org? Générer des fichiers ipynp à partir du mode org? Tous les deux? Ni? La façon dont vous mettez à jour votre question doit inclure la réponse à la raison pour laquelle vous souhaitez le faire. Par exemple, la collaboration avec d'autres qui n'utilisent pas emacs + org-mode. Meilleurs vœux!
Melioratus
Merci pour tous vos commentaires. @Melioratus - mise à jour des clés d'utilisation comme demandé.
Curtis
Je vous remercie! Vos mises à jour sont très utiles! Écrire ce tutoriel sera une expérience d'apprentissage amusante pour moi! Avez-vous un cahier Jupyter avec quelques graphiques que je peux utiliser comme référence pour créer un fichier en mode organisation avec des fonctionnalités similaires. Un lien vers un exemple de bloc-notes Jupyter serait utile pour limiter la portée du didacticiel.
Melioratus

Réponses:

4

Nathaniel Nicandro a récemment publié son package emacs jupyter pour intégrer davantage le mode org avec jupyter. Comme mentionné dans le readme:

emacs-jupyter étend les fonctionnalités de ob-ipython en s'intégrant davantage avec le mode org et en fournissant une meilleure interface REPL au noyau.

blague
la source
C'est une meilleure réponse, je pense, que ob-ipython, pour les raisons que je mentionne dans mon commentaire à @ user3496846.
Trey
1

Découvrez ob-ipython : une bibliothèque Emacs qui permet au mode Org d'évaluer des blocs de code à l'aide d'un noyau Jupyter (Python par défaut) , c'est peut-être ce que vous recherchez. L'exécution de code sur des noyaux ipython distants avec Emacs et orgmode fournit un exemple de base utilisant exactement cette bibliothèque, et il existe également d' autres articles sur ce site.

user3496846
la source
1
Voir aussi github.com/dzop/… comme mentionné dans la réponse de @ prash ci-dessous. Surtout que le développement semble s'être arrêté sur ob-ipython (au moins aussi visible depuis GitHub), et Nathaniel Nicandro a mis à jour la version du code ob-ipython utilisé dans emacs-jupyter, il semble être le successeur naturel, donc probablement le meilleure réponse dans ce cas. Le README.org seul devrait vous montrer ce qu'il peut faire, il est assez impressionnant!
Trey
@Trey Je n'étais pas au courant de celui-ci, merci pour la tête!
user3496846