J'utilise le notebook ipython Jupyter. Disons que j'ai défini une fonction qui occupe beaucoup d'espace sur mon écran. Existe-t-il un moyen de réduire la cellule?
Je veux que la fonction reste exécutée et appelable, mais je veux masquer / réduire la cellule afin de mieux visualiser le cahier. Comment puis-je faire ceci?
View
>Collapse All Code
, voir ici et le lien ici .Réponses:
le
jupyter contrib nbextensions
package Python contient une extension de pliage de code qui peut être activée dans le bloc-notes. Suivez le lien (Github) pour la documentation.Pour installer en utilisant la ligne de commande:
Pour faciliter leur gestion, je recommande également le
jupyter nbextensions configurator
package. Cela fournit un onglet supplémentaire dans l'interface de votre ordinateur portable à partir duquel vous pouvez facilement (dés) activer toutes les extensions installées.Installation:
la source
pip install jupyter_contrib_nbextensions
alorsjupyter contrib nbextensions install --sys-prefix --skip-running-check
. Je souhaite que jupyter ait ce paquet par défaut.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 prend en charge la réduction des cellules. Cliquer sur la barre de cellule bleue à gauche pliera la cellule.
la source
source_hidden
etoutputs_hidden
est réglé. nbformat.readthedocs.io/en/latest/…Vous pouvez créer une cellule et y mettre le code suivant:
L'exécution de cette cellule masquera toutes les cellules d'entrée. Pour les afficher, vous pouvez utiliser le menu pour effacer toutes les sorties.
Sinon, vous pouvez essayer les extensions de notebook comme ci-dessous:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x
la source
J'ai eu un problème similaire et les "nbextensions" signalées par @Energya fonctionnaient très bien et sans effort. Les instructions d'installation sont simples (j'ai essayé avec anaconda sous Windows) pour les extensions de notebook et pour leur configurateur .
Cela dit, je voudrais ajouter que les extensions suivantes devraient être intéressantes.
Masquer l'entrée | Cette extension permet de cacher un codecell individuel dans un notebook. Ceci peut être réalisé en cliquant sur le bouton de la barre d'outils:
En-têtes réductibles | Permet au notebook d'avoir des sections réductibles, séparées par des en-têtes
Codefolding | Cela a été mentionné mais je l'ajoute par souci d'exhaustivité
la source
Créez un fichier custom.js dans ~ / .jupyter / custom / avec le contenu suivant:
Après l'enregistrement, redémarrez le serveur et actualisez le notebook. Vous pouvez réduire n'importe quelle cellule en cliquant sur l'étiquette d'entrée (Dans []).
la source
var c = $(event.target).closest('.cell.code_cell')
et suite à la suggestion de Steohan de tout envelopper dans setTimeout.L'extension hide_code vous permet de masquer des cellules individuelles et / ou les invites à côté d'elles. Installer en tant que
Visitez https://github.com/kirbs-/hide_code/ pour plus d'informations sur cette extension.
la source
Tout d'abord, suivez les instructions d'Energya:
La deuxième est la clé: après avoir ouvert le notebook Jupiter, cliquez sur l'onglet Nbextension. Maintenant, recherchez "colla" à partir de l'outil de recherche fourni par Nbextension (et non par le navigateur Web) , puis vous trouverez quelque chose appelé "En-têtes réductibles"
Voici ce que tu veux!
la source
Comme d'autres l'ont mentionné, vous pouvez le faire via nbextensions. Je voulais donner une brève explication de ce que j'ai fait, ce qui a été rapide et facile:
Pour activer les en-têtes réductibles: Dans votre terminal, activez / installez les extensions Jupyter Notebook en saisissant d'abord:
Ensuite, entrez:
Rouvrez Jupyter Notebook. Allez dans l'onglet "Edition" et sélectionnez "nbextensions config". Décochez la case directement sous le titre "nbextensions configurables", puis sélectionnez "en-têtes réductibles".
la source
nbextensions config
directement à partir du tableau de bord principal et doit ouvrir un ordinateur portable à la place. Alternativement, comme d'autres l'ont mentionné, on peut y accéder vialocalhost:8888/nbextensions
(ou selon le port de votre configuration)Il y a beaucoup de réponses à cette question, qui ne me semblent pas satisfaisantes (certaines plus que d'autres), des nombreuses extensions - pliage de code, pliage par en-têtes, etc. Aucune ne fait ce que je veux de manière simple et efficace. Je suis littéralement étonné qu'une solution n'ait pas été mise en œuvre (comme pour Jupyter Lab).
En fait, j'étais tellement insatisfait que j'ai développé une extension de notebook très simple qui peut développer / réduire le code dans une cellule de notebook, tout en le gardant exécutable.
Le référentiel GitHub: https://github.com/BenedictWilkinsAI/cellfolding
Voici une petite démonstration de ce que fait l'extension:
Il suffit de double-cliquer à gauche de la cellule de code pour la réduire en une seule ligne:
Double-cliquez à nouveau pour agrandir la cellule.
L'extension peut être installée facilement avec pip:
et est également compatible avec le configurateur nbextension . J'espère que les gens trouveront cela utile!
la source
Il existe également une version améliorée de la suggestion Pan Yan. Il ajoute le bouton qui affiche les cellules de code:
Ou python:
la source
Vous n'avez pas besoin de faire grand chose sauf pour activer les extensions:
Très probablement, vous trouverez toutes vos extensions ici:
la source
Ce que j'utilise pour obtenir le résultat souhaité est:
toggle_cell.py
dans le même répertoire que celui de votre notebookhide_sloution()
la source