Estoy usando el cuaderno ipython Jupyter. Digamos que definí una función que ocupa mucho espacio en mi pantalla. ¿Hay alguna manera de colapsar la célula?
Quiero que la función permanezca ejecutada y ejecutable, pero quiero ocultar / colapsar la celda para visualizar mejor el cuaderno. ¿Cómo puedo hacer esto?
View
>Collapse All Code
, ver aquí y el enlace aquí .Respuestas:
El
jupyter contrib nbextensions
paquete Python contiene una extensión de plegado de código que se puede habilitar dentro del cuaderno. Siga el enlace (Github) para la documentación.Para instalar usando la línea de comando:
Para facilitarles la tarea de administrarlos, también recomendaría el
jupyter nbextensions configurator
paquete. Esto proporciona una pestaña adicional en la interfaz de su Notebook desde donde puede (des) activar fácilmente todas las extensiones instaladas.Instalación:
fuente
pip install jupyter_contrib_nbextensions
entoncesjupyter contrib nbextensions install --sys-prefix --skip-running-check
. Desearía que jupyter tuviera este paquete por defecto.conda install -c conda-forge jupyter_contrib_nbextensions
.Due to major differences between the Jupyter Notebook and JupyterLab, the extensions in this repository will not work in JupyterLab
.JupyterLab admite el colapso celular. Al hacer clic en la barra de celda azul a la izquierda, se plegará la celda.
fuente
source_hidden
youtputs_hidden
está listo nbformat.readthedocs.io/en/latest/…Puede crear una celda y poner el siguiente código en ella:
La ejecución de esta celda ocultará todas las celdas de entrada. Para mostrarlos de nuevo, puede usar el menú para borrar todas las salidas.
De lo contrario, puede probar las extensiones de notebook como a continuación:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x
fuente
Tuve un problema similar y las "nbextensions" señaladas por @Energya funcionaron muy bien y sin esfuerzo. Las instrucciones de instalación son sencillas (probé con anaconda en Windows) para las extensiones del portátil y para su configurador .
Dicho esto, me gustaría agregar que las siguientes extensiones deberían ser de interés.
Ocultar entrada | Esta extensión permite ocultar una celda de código individual en un cuaderno. Esto se puede lograr haciendo clic en el botón de la barra de herramientas:
Encabezados plegables | Permite que la computadora portátil tenga secciones plegables, separadas por encabezados
Codefolding | Esto ha sido mencionado pero lo agrego para completar
fuente
Cree un archivo custom.js dentro de ~ / .jupyter / custom / con los siguientes contenidos:
Después de guardar, reinicie el servidor y actualice la notebook. Puede contraer cualquier celda haciendo clic en la etiqueta de entrada (En []).
fuente
var c = $(event.target).closest('.cell.code_cell')
y siguiendo la sugerencia de Steohan de envolver todo en setTimeout.La extensión hide_code le permite ocultar celdas individuales y / o las indicaciones junto a ellas. Instalar como
Visite https://github.com/kirbs-/hide_code/ para obtener más información sobre esta extensión.
fuente
En primer lugar, siga las instrucciones de Energya:
La segunda es la clave: después de abrir el cuaderno de Júpiter, haga clic en la pestaña Nbextension. Ahora busque "colla" en la herramienta de búsqueda proporcionada por Nbextension (no por el navegador web) , luego encontrará algo llamado "Encabezados plegables"
¡Esto es lo que quieres!
fuente
Como otros han mencionado, puede hacerlo a través de nbextensions. Quería dar una breve explicación de lo que hice, que fue rápido y fácil:
Para habilitar encabezados compatibles: en su terminal, habilite / instale Extensiones de notebook Jupyter ingresando primero:
Luego, ingrese:
Vuelva a abrir el cuaderno Jupyter. Vaya a la pestaña "Editar" y seleccione "nbextensions config". Desmarque la casilla directamente debajo del título "Extensiones n configurables", luego seleccione "encabezados plegables".
fuente
nbextensions config
directamente desde el tablero principal y en su lugar tiene que abrir un cuaderno. Alternativamente, como otros han mencionado, uno puede acceder a través delocalhost:8888/nbextensions
(o cualquier puerto que esté en su configuración)Hay muchas respuestas a esta pregunta, todas las cuales creo que no son satisfactorias (algunas más que otras), de las muchas extensiones: plegado de códigos, plegado por encabezados, etc. Ninguno hace lo que quiero de manera simple y efectiva. Estoy literalmente sorprendido de que no se haya implementado una solución (como lo ha hecho para Jupyter Lab).
De hecho, estaba tan insatisfecho que desarrollé una extensión de cuaderno muy simple que puede expandir / colapsar el código en una celda del cuaderno, mientras lo mantengo ejecutable.
El repositorio de GitHub: https://github.com/BenedictWilkinsAI/cellfolding
A continuación se muestra una pequeña demostración de lo que hace la extensión:
Simplemente haciendo doble clic a la izquierda de la celda de código la contraerá en una sola línea:
Hacer doble clic nuevamente expandirá la celda.
La extensión se puede instalar fácilmente con pip:
y también es compatible con nbextension configurator . ¡Espero que la gente lo encuentre útil!
fuente
También hay una versión mejorada de la sugerencia de Pan Yan. Agrega el botón que muestra las celdas de código:
O pitón:
fuente
No necesita hacer mucho, excepto para habilitar las extensiones:
Lo más probable es que encuentre todas sus extensiones aquí:
fuente
Lo que uso para obtener el resultado deseado es:
toggle_cell.py
en el mismo directorio que el de su computadora portátilhide_sloution()
fuente