Integración de jupyter notebook (ipython) en notebook en modo org

10

¿Hay alguna manera de vincular en los cuadernos jupyter (ipython) al cuaderno del modo org? ¿De la misma manera que se pueden traer otros archivos (imágenes)? Si es posible, ¿se verán también las salidas en la nota (y las entradas son ejecutables?), O solo el código mismo? Una guía ficticia sería mucho más apreciada ya que soy nuevo en emacs y la configuración de las cosas no es sencilla.

Paso la mayor parte de mi tiempo en los cuadernos de Jupyter e intento documentar los diversos pasos como un tutorial para colegas que quieran reproducir mis métodos (a veces se incluyen fragmentos de código), así como discutir los hallazgos en el cuaderno de modo org. Es puramente porque el portátil de modo org tiene una interfaz mucho más agradable con secciones / subsecciones automáticas y de fácil acceso para cualquier persona (por ejemplo, HTML). Si alguien quisiera verificar la sensibilidad de algunos otros parámetros, hubiera sido mucho mejor tener la capacidad de cambiar el código dentro del modo org (sin la necesidad de cambiar a Jupyter) y las cifras de salida se generan automáticamente (igual que Jupyter) o cualquier otra salida. Muchas veces, tengo que exportar varios gráficos de Jupyter para poder ingresar al modo org. Esperaba si puedo cambiar al modo org completamente y hacer toda la codificación allí.

Un ejemplo jupyter portátil con una gran cantidad de salidas y gráficos se da aquí , lo que se necesita para instalar Seaborn, ya que no viene como un paquete estándar si se usa Anaconda.

Curtis
fuente
No estoy seguro de qué es lo que estás tratando de hacer. Ipython guarda sus cuadernos como ipynb, esto es solo un json, por lo que debería ser sencillo escribir un analizador para convertirlo en un archivo txt org. No estoy seguro si ya existen. Por otro lado, si desea permanecer en emacs y en modo org, existe el paquete emacs og-ipython. Esto le permite usar los bloques src en modo org para interactuar con un kernel ipython, ejecutar código, trazar salidas, todo dentro de emacs. ¡Esto es lo que uso principalmente porque me niego a dejar emacs! Espero que esto ayude. github.com/gregsexton/ob-ipython
Seeralan S
1
John Kitchen ha escrito ox-ipynb que parece hacer algo así. No lo he usado, pero valdría la pena intentarlo. kitchingroup.cheme.cmu.edu/blog/2017/01/21/… Y como eres nuevo, vale la pena mencionar el tutorial C-h ty, si estás inclinado, la Introducción a Emacs Lisp es una excelente lectura: gnu. org / software / emacs / manual / eintr.html
Lorem Ipsum el
¡Me complace escribir un tutorial para hacer esto con el fin de ayudar a otros a hacer una Investigación reproducible! ¿Actualizaría su pregunta con algunos ejemplos de casos de uso simples y un flujo de trabajo? Por ejemplo, ¿desea colocar los archivos ipynp en modo org? ¿Generar archivos ipynp desde el modo org? ¿Ambos? ¿Ninguno? La forma en que actualice su pregunta debe incluir la respuesta a por qué desea hacer esto. Por ejemplo, colaboración con otros que no usan emacs + org-mode. ¡Los mejores deseos!
Melioratus el
Gracias por todos sus comentarios. @Melioratus: claves de uso actualizadas según lo solicitado.
Curtis
¡Gracias! ¡Tus actualizaciones son muy útiles! ¡Escribir este tutorial será una experiencia de aprendizaje divertida para mí! ¿Tiene un cuaderno Jupyter con algunos gráficos que puedo usar como referencia para crear un archivo de modo org con una funcionalidad similar? Un enlace a un cuaderno Jupyter de ejemplo sería útil para limitar el alcance del tutorial.
Melioratus

Respuestas:

4

Nathaniel Nicandro ha lanzado recientemente su paquete emacs jupyter para integrar aún más el modo org con jupyter. Como se menciona en el archivo Léame:

emacs-jupyter amplía las características de ob-ipython al integrar más con el modo org y proporcionar una mejor interfaz REPL al núcleo.

prash
fuente
Esta es una mejor respuesta, creo, que ob-ipython, por las razones que menciono en mi comentario a @ user3496846.
Trey
1

Echa un vistazo a ob-ipython : una biblioteca de Emacs que permite que el modo Org evalúe los bloques de código usando un núcleo Jupyter (Python por defecto) , podría ser lo que estás buscando. Ejecutar código en núcleos remotos de ipython con Emacs y orgmode proporciona un ejemplo básico usando exactamente esa biblioteca, y también hay más artículos relacionados en ese sitio.

usuario3496846
fuente
1
Vea también github.com/dzop/… como se menciona en la respuesta de @ prash a continuación. Especialmente a medida que el desarrollo parece haberse detenido en ob-ipython (al menos tan visible desde GitHub), y Nathaniel Nicandro ha estado actualizando la versión del código ob-ipython utilizado en emacs-jupyter, parece ser el sucesor natural, por lo que probablemente el Mejor respuesta en este caso. El README.org solo debe mostrar lo que puede hacer, que es bastante impresionante!
Trey
@Trey No estaba al tanto de esto, ¡gracias por el aviso!
user3496846