Estou usando o notebook ipython Jupyter. Digamos que eu defini uma função que ocupa muito espaço na minha tela. Existe uma maneira de recolher a célula?
Quero que a função permaneça executada e passível de chamada, mas desejo ocultar / contrair a célula para melhor visualizar o notebook. Como posso fazer isso?
View
>Collapse All Code
, veja aqui e o link aqui .Respostas:
O
jupyter contrib nbextensions
pacote Python contém uma extensão dobrável em código que pode ser ativada no notebook. Siga o link (Github) para obter documentação.Para instalar usando a linha de comando:
Para facilitar a vida no gerenciamento deles, eu também recomendaria o
jupyter nbextensions configurator
pacote. Isso fornece uma guia extra na interface do Notebook, de onde você pode (des) ativar facilmente todas as extensões instaladas.Instalação:
fonte
pip install jupyter_contrib_nbextensions
entãojupyter contrib nbextensions install --sys-prefix --skip-running-check
. Eu gostaria que o jupyter tivesse esse pacote por padrão.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
.Você pode criar uma célula e inserir o seguinte código:
A execução desta célula ocultará todas as células de entrada. Para mostrá-los de volta, você pode usar o menu para limpar todas as saídas.
Caso contrário, você pode tentar extensões de notebook como abaixo:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x
fonte
O JupyterLab suporta o colapso de células. Clicar na barra de célula azul à esquerda dobrará a célula.
fonte
source_hidden
eoutputs_hidden
está definido. nbformat.readthedocs.io/en/latest/...Eu tive um problema semelhante e as "nbextensions" apontadas pelo @Energya funcionaram muito bem e sem esforço. As instruções de instalação são simples (tentei com o anaconda no Windows) para as extensões de notebook e seu configurador .
Dito isto, gostaria de acrescentar que as seguintes extensões devem ser interessantes.
Ocultar entrada | Esta extensão permite ocultar uma célula de código individual em um notebook. Isso é possível clicando no botão da barra de ferramentas:
Títulos dobráveis | Permite que o notebook tenha seções dobráveis, separadas por títulos
Codefolding | Isso foi mencionado, mas eu o adiciono para completar
fonte
Crie o arquivo custom.js dentro de ~ / .jupyter / custom / com o seguinte conteúdo:
Após salvar, reinicie o servidor e atualize o notebook. Você pode recolher qualquer célula clicando no rótulo de entrada (In []).
fonte
var c = $(event.target).closest('.cell.code_cell')
e seguindo a sugestão de Steohan de agrupar tudo em setTimeout.A extensão hide_code permite ocultar células individuais e / ou as solicitações próximas a elas. Instale como
Visite https://github.com/kirbs-/hide_code/ para obter mais informações sobre esta extensão.
fonte
Primeiro, siga as instruções da Energya:
A segunda é a chave: depois de abrir o bloco de notas de Júpiter, clique na guia Nbextension. Agora pesquise "colla" na ferramenta de pesquisa fornecida pelo Nbextension (não pelo navegador da web) , e você encontrará algo chamado "Cabeçalhos recolhíveis"
Isso é o que você quer!
fonte
Como outros já mencionaram, você pode fazer isso via nbextensions. Eu queria dar uma breve explicação do que fiz, que foi rápido e fácil:
Para habilitar cabeçalhos colabíveis: No seu terminal, ative / instale as Extensões de Notebook Jupyter digitando primeiro:
Em seguida, digite:
Reabra o Jupyter Notebook. Vá para a guia "Editar" e selecione "nbextensions config". Desmarque a caixa diretamente sob o título "Nbextensions configuráveis" e selecione "títulos recolhíveis".
fonte
nbextensions config
diretamente do painel principal e, em vez disso, é necessário abrir um notebook. Como alternativa, como outros já mencionaram, é possível acessá-lo vialocalhost:8888/nbextensions
(ou qualquer porta que esteja na sua configuração)Há muitas respostas para essa pergunta, todas as quais considero não satisfatórias (algumas mais que outras), das muitas extensões - dobragem de código, dobragem por títulos etc. etc. Nenhuma faz o que quero de maneira simples e eficaz. Estou literalmente espantado que uma solução não tenha sido implementada (como no Jupyter Lab).
De fato, fiquei tão insatisfeito que desenvolvi uma extensão de notebook muito simples que pode expandir / contrair o código em uma célula de notebook, mantendo-o executável.
O repositório do GitHub: https://github.com/BenedictWilkinsAI/cellfolding
Abaixo está uma pequena demonstração do que a extensão faz:
Basta clicar duas vezes à esquerda da célula de código para recolher uma única linha:
Clicar duas vezes novamente expandirá a célula.
A extensão pode ser instalada facilmente com o pip:
e também é compatível com o configurador nbextension . Espero que as pessoas achem isso útil!
fonte
Há também uma versão aprimorada da sugestão de Pan Yan. Ele adiciona o botão que mostra as células de código de volta:
Ou python:
fonte
Você não precisa fazer muito, exceto para ativar as extensões:
Muito provavelmente você encontrará todas as suas extensões aqui:
fonte
O que eu uso para obter o resultado desejado é:
toggle_cell.py
no mesmo diretório do seu notebookhide_sloution()
fonte