Próbuję ogarnąć głowę, co mogę / czego nie mogę zrobić z Jupyter.
Mam serwer Jupyter działający na naszym serwerze wewnętrznym, dostępny przez VPN i chroniony hasłem.
Tylko ja faktycznie tworzę notesy, ale chciałbym, aby niektóre z nich były widoczne dla innych członków zespołu w trybie tylko do odczytu. W idealnym przypadku mógłbym po prostu udostępnić im adres URL, do którego dodaliby zakładkę, gdy chcą zobaczyć notatnik z odświeżonymi danymi.
Widziałem opcje eksportu, ale nie mogę znaleźć żadnej wzmianki o „publikowaniu” lub „udostępnianiu” lokalnych notatników na żywo. Czy to niemożliwe? Czy to może po prostu zły sposób myślenia o tym, jak należy używać Jupyter?
.ipynb
pliki na GitHub: blog.jupyter.org/2015/05/07/rendering-notebooks-on-githubOdpowiedzi:
„Najlepszym” sposobem udostępniania notatnika Jupyter jest po prostu umieszczenie go w serwisie GitHub (i bezpośrednie wyświetlenie) lub innego publicznego łącza i użycie przeglądarki Jupyter Notebook Viewer . Kiedy prywatność jest większym problemem, istnieją alternatywy, ale z pewnością są one bardziej złożone; nie ma wbudowanego sposobu, aby to zrobić w samym Jupyter, ale kilka opcji to:
Hostuj swój własny nbviewer
GitHub i Jupyter Notebook Veiwer używają tego samego narzędzia do renderowania
.ipynb
plików w statycznym formacie HTML, tym narzędziem jest nbviewer .Instrukcje instalacji są bardziej złożone, niż chciałbym tutaj wprowadzić, ale jeśli Twoja firma / zespół ma serwer współdzielony, który nie wymaga dostępu do hasła, możesz hostować nbviewer na tym serwerze i skierować go do ładowania z twojego poświadczonego serwera . Będzie to prawdopodobnie wymagało bardziej zaawansowanej konfiguracji niż ta, którą znajdziesz w dokumentacji.
Skonfiguruj skrypt wdrażania
Jeśli niekoniecznie potrzebujesz aktualizowanego na żywo HTML, możesz skonfigurować skrypt na swoim poświadczonym serwerze, który po prostu użyje wbudowanych opcji eksportu Jupyter do tworzenia statycznych plików HTML, a następnie wyśle je na bardziej publicznie dostępny serwer.
źródło
Firma Google niedawno opublikowała swój wewnętrzny projekt współpracy ( łącze tutaj ). Możesz uruchomić notatnik w taki sam sposób, jak uruchomić Arkusz Google lub Dokument Google, a następnie po prostu udostępnić notatnik lub dodać współpracowników.
Na razie jest to dla mnie najłatwiejsza droga.
źródło
Sugestia Michaela dotycząca uruchomienia własnej instancji nbviewer jest dobra, z którego korzystałem w przeszłości na serwerze Enterprise Github.
Inną lekką alternatywą jest posiadanie komórki na końcu notebooka, która wykonuje wywołanie powłoki w celu nbconvert, dzięki czemu jest automatycznie odświeżana po uruchomieniu całości:
!ipython nbconvert <notebook name>.ipynb --to html
EDYCJA : Dzięki Big Split Jupyter / IPython prawdopodobnie będziesz chciał to zmienić
!jupyter nbconvert <notebook name>.ipynb --to html
teraz.źródło
To zależy od tego, co zamierzasz zrobić ze swoim notebookiem: czy chcesz, aby użytkownik mógł przeliczyć wyniki, czy po prostu się z nimi bawić?
Notatnik statyczny
NBViewer to świetne narzędzie. Możesz go użyć bezpośrednio w Jupyter . Github ma również renderowanie, więc możesz bezpośrednio połączyć swój plik (na przykład https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb )
Żywy notatnik
Jeśli chcesz, aby Twój użytkownik mógł ponownie obliczyć niektóre części, możesz również użyć MyBinder . Uruchomienie notebooka zajmuje trochę czasu, ale wynik jest tego wart.
Jak powiedział @Mapl, Google może hostować Twój notatnik w Colab . Fajną funkcją jest obliczanie komórek za pomocą GPU.
źródło
Świetny sposób na zrobienie tego w WordPress składa się z następujących kroków:
Krok 1: Otwórz swój notatnik Jupyter w edytorze tekstu i skopiuj zawartość, która może wyglądać następująco: Twój plik .ipynb może wyglądać tak po otwarciu w edytorze tekstu
Krok 2: Ctrl + A i Ctrl + C ta zawartość. Następnie Ctrl + V to do GitHub Gist, który powinieneś utworzyć.
Krok 3: Stwórz publiczną treść i umieść ją tak, jak zawsze osadzasz streszczenia w WordPress, a mianowicie przejdź do edytora HTML i dodaj w ten sposób:
Właściwie zaimplementowałem to na swoim blogu. Post można znaleźć tutaj
źródło
Jeszcze jednym sposobem osiągnięcia tego celu byłoby użycie JupyterHub .
Dzięki JupyterHub możesz utworzyć centrum dla wielu użytkowników, które tworzy, zarządza i udostępnia wiele instancji serwera notebooków Jupyter dla jednego użytkownika. Ze względu na swoją elastyczność i opcje dostosowywania JupyterHub może służyć do udostępniania notebooków klasie studentów, korporacyjnej grupie zajmującej się nauką danych lub grupie naukowej.
źródło