sheet notebook cheat python ipython directory subdirectories

cheat - ¿Múltiples directorios y/o subdirectorios en la sesión de IPython Notebook?



markdown cells jupyter notebook (2)

Las páginas de documentación de IPython sugieren que abrir varias sesiones diferentes del cuaderno de IPython es la única forma de interactuar con los cuadernos guardados en diferentes directorios o subdirectorios, pero esto no se confirma explícitamente en ninguna parte.

Me enfrento a una situación en la que podría necesitar interactuar con cientos de cuadernos diferentes, que se clasifican de acuerdo con diferentes propiedades y se almacenan en subdirectorios de un directorio principal. He establecido ese directorio principal (llamémoslo /main ) en el archivo de configuración ipython_notebook_config.py para que sea el directorio predeterminado.

Cuando lanzo el portátil IPython, de hecho, muestra todos los cuadernos guardados que están dentro de /main (pero no los cuadernos guardados dentro de los subdirectorios dentro de /main ).

¿Cómo puedo lograr un solo panel de control de IPython que me muestre los cuadernos dentro de /main y también muestre subdirectorios, me permita expandir un subdirectorio y elegir su contenido, o simplemente muestre todos los cuadernos de todos los subdirectorios?

Hacer esto lanzando nuevas instancias de IPython cada vez está completamente fuera de cuestión.

Estoy dispuesto a juguetear con el código fuente si tengo que hacerlo para esta habilidad. Es un tipo de función extremadamente básico, lo necesitamos, y es sorprendente que no sea solo el comportamiento predeterminado de IPython. Para cualquier cantidad de cuadernos guardados de más de 10 o 15, esta función es necesaria .


Las páginas de documentación de IPython sugieren que abrir varias sesiones diferentes del cuaderno de IPython es la única forma de interactuar con los cuadernos guardados en diferentes directorios o subdirectorios, pero esto no se confirma explícitamente en ninguna parte.

Sí, esta es una limitación actual ( temporal ) del servidor Notebook. La compatibilidad con varios directorios es muy alta en la lista de tareas del cuaderno (desafortunadamente esa lista es larga y los desarrolladores son pocos y tienen trabajos diurnos), simplemente no está allí todavía. Por 0.14 (caída, probablemente), no debería tener ninguna razón para ejecutar más de un servidor nb, pero por ahora esa es la única opción para múltiples directorios. Todo lo que falta para un primer borrador simple es:

  1. Asociar cuadernos individuales con directorios (bastante triviales), y
  2. Interfaz de usuario web para una navegación sencilla del sistema de archivos (un poco menos trivial).

Estoy dispuesto a juguetear con el código fuente si tengo que hacerlo para esta habilidad

El factor limitante, si quiere hurgar en la fuente, es el NotebookManager , que está asociado con un directorio en particular. Si modifica el método list_notebooks () para manejar los subdirectorios, está allí al 90%.

También sentí curiosidad acerca de esto, así que reuní un ejemplo rápido here que le permite al menos leer / ejecutar / editar / guardar cuadernos en subdirectorios (la profundidad de la caminata está limitada a 2, pero es fácil de cambiar). Cualquier nueva notebook estará en el directorio de nivel superior, y no hay una interfaz de usuario para moverlos.