Używam notebooka ipython Jupyter. Powiedzmy, że zdefiniowałem funkcję, która zajmuje dużo miejsca na moim ekranie. Czy istnieje sposób na zawalenie komórki?
Chcę, aby funkcja była nadal wykonywana i wywoływana, ale chcę ukryć / zwinąć komórkę, aby lepiej wizualizować notatnik. W jaki sposób mogę to zrobić?
View
>Collapse All Code
, patrz tutaj i łącze tutaj .Odpowiedzi:
jupyter contrib nbextensions
Pakiet Python zawiera kod składane rozszerzenie, które mogą być włączone w notesie. Kliknij link (Github), aby uzyskać dokumentację.Aby zainstalować za pomocą wiersza poleceń:
Aby ułatwić sobie życie w zarządzaniu nimi, polecam również
jupyter nbextensions configurator
pakiet. Zapewnia to dodatkową kartę w interfejsie notebooka, z której można łatwo (de) aktywować wszystkie zainstalowane rozszerzenia.Instalacja:
źródło
pip install jupyter_contrib_nbextensions
thenjupyter contrib nbextensions install --sys-prefix --skip-running-check
. Chciałbym, żeby jupyter miał domyślnie ten pakiet.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
.Możesz utworzyć komórkę i umieścić w niej następujący kod:
Uruchomienie tej komórki spowoduje ukrycie wszystkich komórek wejściowych. Aby je pokazać, możesz użyć menu, aby wyczyścić wszystkie wyjścia.
W przeciwnym razie możesz wypróbować rozszerzenia notebooków, takie jak poniżej:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Home_3x
źródło
JupyterLab obsługuje zwijanie komórek. Kliknięcie niebieskiego paska komórki po lewej stronie spowoduje zawinięcie komórki.
źródło
source_hidden
ioutputs_hidden
jest ustawiony. nbformat.readthedocs.io/en/latest/…Miałem podobny problem i "nbextensions" wskazane przez @Energya działały bardzo dobrze i bez wysiłku. Instrukcje instalacji są proste (próbowałem z anacondą w systemie Windows) dla rozszerzeń notebooka i ich konfiguratora .
To powiedziawszy, chciałbym dodać, że następujące rozszerzenia powinny być interesujące.
Ukryj wejście | To rozszerzenie umożliwia ukrycie pojedynczego kodekomórki w notebooku. Można to osiągnąć, klikając przycisk paska narzędzi:
Zwijane nagłówki | Umożliwia notatnikowi składanie sekcji oddzielonych nagłówkami
Składanie kodu | Zostało to wspomniane, ale dodam to dla kompletności
źródło
Utwórz plik custom.js w ~ / .jupyter / custom / z następującą zawartością:
Po zapisaniu zrestartuj serwer i odśwież notatnik. Możesz zwinąć dowolną komórkę, klikając etykietę wejściową (W []).
źródło
var c = $(event.target).closest('.cell.code_cell')
i po sugestii Steohana, aby zawinąć wszystko w setTimeout.Rozszerzenie hide_code pozwala ukryć poszczególne komórki i / lub monity obok nich. Zainstaluj jako
Odwiedź https://github.com/kirbs-/hide_code/, aby uzyskać więcej informacji na temat tego rozszerzenia.
źródło
Po pierwsze, postępuj zgodnie z instrukcjami Energya:
Po drugie: po otwarciu notatnika jupiter kliknij kartę Nbextension. Teraz wyszukaj "colla" z narzędzia wyszukiwania dostarczonego przez Nbextension (nie przez przeglądarkę internetową) , a znajdziesz coś o nazwie "Zwijane nagłówki"
To jest to, czego chcesz!
źródło
Jak wspominali inni, możesz to zrobić za pomocą nbextensions. Chciałem krótko wyjaśnić, co zrobiłem, co było szybkie i łatwe:
Aby włączyć współpracujące nagłówki: W terminalu włącz / zainstaluj Jupyter Notebook Extensions, wprowadzając najpierw:
Następnie wprowadź:
Ponownie otwórz notatnik Jupyter. Przejdź do zakładki „Edycja” i wybierz „Konfiguracja nbextensions”. Usuń zaznaczenie pola wyboru bezpośrednio pod tytułem „Konfigurowalne rozszerzenia nbezpłatne”, a następnie wybierz „zwijane nagłówki”.
źródło
nbextensions config
bezpośrednio z głównego pulpitu nawigacyjnego i zamiast tego należy otworzyć notatnik. Alternatywnie, jak wspominali inni, można uzyskać do niego dostęp przezlocalhost:8888/nbextensions
(lub dowolny port w twojej konfiguracji)Jest wiele odpowiedzi na to pytanie, z których wszystkie uważam za niezadowalające (niektóre bardziej niż inne), spośród wielu rozszerzeń - zwijanie kodu, zwijanie według nagłówków itp. Żaden nie robi tego, co chcę w prosty i skuteczny sposób. Jestem dosłownie zdumiony, że rozwiązanie nie zostało wdrożone (tak jak w przypadku Jupyter Lab).
W rzeczywistości byłem tak niezadowolony, że opracowałem bardzo proste rozszerzenie do notebooka, które może rozszerzać / zwijać kod w komórce notebooka, zachowując jego wykonywalność.
Repozytorium GitHub: https://github.com/BenedictWilkinsAI/cellfolding
Poniżej znajduje się małe demo tego, co robi rozszerzenie:
Dwukrotne kliknięcie po lewej stronie komórki kodu zwinie ją do jednej linii:
Ponowne dwukrotne kliknięcie spowoduje rozwinięcie komórki.
Przedłużenie można łatwo zainstalować za pomocą pip:
i jest również kompatybilny z konfiguratorem nbextension . Mam nadzieję, że ludzie uznają to za przydatne!
źródło
Istnieje również ulepszona wersja sugestii Pan Yan. Dodaje przycisk, który pokazuje z powrotem komórki kodu:
Lub python:
źródło
Nie musisz robić wiele poza włączaniem rozszerzeń:
Najprawdopodobniej znajdziesz tutaj wszystkie swoje rozszerzenia:
źródło
Aby uzyskać pożądany efekt, używam:
toggle_cell.py
w tym samym katalogu, co w Twoim notatnikuhide_sloution()
źródło