2012-06-13 10 views
30

Las páginas de documentación de IPython sugieren que la apertura de varias sesiones diferentes de la libreta de IPython es la única forma de interactuar con las notebooks guardadas en diferentes directorios o subdirectorios, pero esto no se confirma explícitamente en ninguna parte.¿Varios directorios y/o subdirectorios en la sesión de IPython Notebook?

Estoy frente a una situación en la que podría necesitar interactuar con cientos de blocs de notas 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 inicio IPython portátil, de hecho nos permite visualizar cualquier cuadernos guardados que están dentro /main (pero no cuadernos guardados dentro de subdirectorios dentro /main).

¿Cómo puedo lograr un único panel de control IPython que me muestra los cuadernos dentro /mainy también muestra subdirectorios, me permite ampliar un subdirectorio y elegir entre sus contenidos, o simplemente muestra todos los libros de registro de todos los subdirectorios?

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

Estoy dispuesto a jugar con el código fuente si tengo que hacerlo para esta habilidad. Es un tipo de función extremadamente básica, lo necesitamos, y es sorprendente que no sea solo el comportamiento predeterminado de IPython. Para cualquier cantidad de cuadernos guardados en tal vez 10 o 15, esta característica es necesaria.

+0

El servidor portátil será capaz de navegar a diferentes directorios, simplemente no se ha aplicado todavía * *. Si es importante para ti, puedes venir y ayudar a escribirlo, aunque nos estamos preparando para otro lanzamiento, por lo que probablemente no llegue antes. –

Respuesta

20

páginas de documentación El IPython sugieren que la apertura de varias sesiones diferentes de IPython portátil es la única manera de interactuar con los cuadernos guardados en diferentes directorios o subdirectorios, pero esto no está confirmado explícitamente en cualquier lugar.

Sí, esto es una limitación de corriente ( temporal) del servidor Notebook. El soporte de múltiples directorios ocupa un lugar muy alto en la lista de tareas pendientes de los portátiles (desafortunadamente esa lista es larga, y los desarrolladores son pocos y tienen trabajos diurnos), simplemente no está allí todavía. Por 0.14 (Fall, 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 simple primer borrador es:

  1. Asociar cuadernos individuales con los directorios (bastante trivial) y
  2. interfaz de usuario web para una navegación simple sistema de archivos (un poco menos trivial).

estoy dispuesto a jugar con el código fuente si tengo que de esta facultad

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

Tenía curiosidad acerca de esto también, así que lancé un ejemplo rápido here que le permite al menos leer/ejecutar/editar/guardar cuadernos en subdirectorios (la profundidad de caminata está limitada a 2, pero es fácil de cambiar).Cuadernos nuevos estarán en el directorio de nivel superior y no hay UI para moverlos.

+0

enlaces están rotos – denfromufa

+0

Esta respuesta ahora es irrelevante, ya que IPython 1.0 admite la navegación de directorio. Apunté el enlace de NotebookManager a 0.13, que era actual en ese momento. – minrk

Cuestiones relacionadas