Як я можу поділитися ноутбуками Юпітера з непрограмістами? [зачинено]


167

Я намагаюся обернути голову навколо того, що я можу / не можу зробити з Юпітером.

У мене на нашому внутрішньому сервері працює сервер Jupyter, доступний через VPN та захищений паролем.

Я єдиний, хто фактично створює зошити, але хотів би зробити деякі зошити видимими для інших членів команди в режимі, доступному лише для читання. В ідеалі я міг би просто поділитися з ними URL-адресою, на яку вони будуть робити закладки, коли хочуть побачити ноутбук із оновленими даними.

Я бачив варіанти експорту, але не можу знайти жодної згадки про "публікацію" чи "оприлюднення" місцевих живих зошитів. Це неможливо? Це може бути просто неправильний спосіб думати про те, як слід застосовувати Юпітер?


5
Схоже, ви можете просто розмістити .ipynbфайли на GitHub: blog.jupyter.org/2015/05/07/rendering-notebooks-on-github
jonrsharpe

4
Але щоб це було приватним, нам доведеться платити за рахунки.
xav

Отже, ви не хочете, щоб вони були повністю публічними? Якщо тільки місцевим жителям, чому вони не можуть отримати доступ до сервера?
jonrsharpe

2
Вибачте, якщо це було не ясно. Я хотів би обслуговувати зошити на сервері (лише команда може це бачити), але, якщо можливо, я хотів би уникнути надання їм пароля інстанції Jupyter або будь-якого іншого способу доступу з правами редагування.
xav

4
можливо, ви можете просто створити таємну суть ( gist.github.com ) "Секретні носії приховані від пошукових систем, але видимі всім, кому ви надаєте URL-адресу." ніхто навіть не має облікового запису github. швидко.
тегома

Відповіді:


78

"Найкращий" спосіб поділитися ноутбуком Юпітера - просто розмістити його на GitHub (та переглянути його безпосередньо) або на якомусь іншому загальнодоступному посиланні та використовувати переглядач ноутбуків Юпітера . Коли конфіденційність більше викликає питання, то існують альтернативи, але це, звичайно, складніше; не існує вбудованого способу зробити це лише в Jupyter, але є кілька варіантів:

Розмістіть власного nbviewer

GitHub і Jupyter Notebook Veiwer використовують один і той же інструмент для перетворення .ipynbфайлів у статичний HTML, цей інструмент - nbviewer .

Інструкції з установки є складнішими, ніж я готовий тут вносити, але якщо у вашої компанії / команди є спільний сервер, який не потребує доступу до пароля, то ви можете розмістити nbviewer на цьому сервері та направити його на завантаження з вашого сервера, що підтверджується авторизацією. . Це, ймовірно, потребуватиме більш досконалої конфігурації, ніж ви збираєтеся знайти в документах.

Налаштування сценарію розгортання

Якщо вам не обов'язково потрібне оновлення HTML в реальному часі, ви можете встановити скрипт на своєму сервері, що підтверджується, який просто використовуватиме вбудовані параметри експорту Jupyter для створення статичних файлів HTML, а потім надішлете їх на більш загальнодоступний сервер.


Ви також можете отримати доступ до nbviewer безпосередньо на nbviewer.jupyter.org і додати там свій файл
guhur

Jupyter Notebook Телеглядач буде надавати статичні ноутбуки в г теж, позбавляючи вас від необхідності повноцінного GitHub репо.
Уейн

Примітка "додайте туди свій файл" не включає завантаження його у веб-діалоговому вікні, що дозволяє вибирати файл локально з файлової системи браузера.
lucid_dreamer

29

Google нещодавно оприлюднив свій внутрішній проект співпраці ( посилання тут ). Ви можете запустити зошит так само, як запустити Google Sheet або Google Doc, а потім просто поділитися ноутбуком або додати співробітників ..

Наразі це для мене найпростіший спосіб.


1
Я здивовано виявив, наскільки інтуїтивно зрозумілим та легким є співпраця. Зауважте, що ви можете поділитися посиланням лише для перегляду, але відвідувачі можуть увімкнути режим "майданчик" для запуску кодових блоків та коригування параметрів. дуже круто.
Тимофій Ломбард

Комбінації клавіш усі зламані в колабі.
mathtick

Ви можете почати тут: введення Google colab
cglacet

24

Пропозиція Майкла про запуск вашого власного екземпляра nbviewer - це добре, що я використовував у минулому із сервером Enterprise Github.

Іншою легкою альтернативою є наявність комірки в кінці вашого ноутбука, яка виконує виклик оболонки на nbconvert, щоб вона автоматично оновлювалася після запуску всієї справи:

!ipython nbconvert <notebook name>.ipynb --to html

EDIT : З Jupyter / IPython Біг Спліт, ви , ймовірно , хочете , щоб змінити це прямо !jupyter nbconvert <notebook name>.ipynb --to htmlзараз.


12

Це залежить від того, що ви маєте намір зробити з Вашим ноутбуком: чи хочете, щоб користувач міг перерахувати результати або просто грати з ними?

Статичний зошит

NBViewer - чудовий інструмент. Ви можете безпосередньо використовувати його всередині Юпітера . Github також має візуалізацію, тому ви можете безпосередньо зв’язати свій файл (наприклад, https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb )

Живий зошит

Якщо ви хочете, щоб ваш користувач міг перерахувати деякі частини, ви також можете використовувати MyBinder . Щоб запустити ноутбук, потрібен певний час, але результат того вартий.

За словами @Mapl, Google може розмістити ваш ноутбук разом із Colab . Приємною особливістю є обчислення ваших комірок через GPU.


1
MyBinder зробить бейдж, який ви можете помістити у репо, щоб користувачі могли легко запустити активний ( живий ) ноутбук, див. Тут , для основного прикладу. Ви навіть можете вказати для запуску безпосередньо в певну ACTIVE сторінки ноутбука і не приладову панель Jupyter, ввівши шлях до файлу ноутбук , перш ніж натиснути стрілку вниз поруч із кнопкою запуску , щоб отримати значок.
Уейн

7

Чудовий спосіб зробити це в WordPress складається з наступних кроків:

Крок 1. Відкрийте ноутбук Юпітера в текстовому редакторі та скопіюйте вміст, який може виглядати так: Ваш файл .ipynb може виглядати так, коли відкриється в текстовому редакторі

Крок 2: Ctrl + A і Ctrl + C цей вміст. Потім Ctrl + V це GistHub Gist, який ви повинні створити.

Крок 3: Створіть загальнодоступну суть і вбудуйте суть так, як ви завжди вставляєте нотки в WordPress, тобто перейдіть до редактора HTML і додайте так:

[gist gist_url]

Я реально реалізував це у своєму блозі. Ви можете знайти повідомлення тут


4

Ще одним способом досягнення цієї мети буде використання JupyterHub .

За допомогою JupyterHub ви можете створити багатокористувацький концентратор, який породжує, керує і надає проксі-сервер декількох примірників однокористувацького сервера ноутбуків Jupyter. Завдяки своїй гнучкості та можливостям налаштування, JupyterHub можна використовувати для подачі зошитів до класу студентів, групи корпоративних наукових даних або групи наукових досліджень.

введіть тут опис зображення


2
Поки jupyterhub корисний лише для надання доступу багатьом користувачам до використання jupyter. Обмін ноутбуками працює над ShareHub, але jupyterhub не допомагає.
Крейг

@Craig, у тебе був шанс спробувати це? Що таке ShareHub? Що змусило вас подумати, що JupyterHub не допомагає в цьому випадку? Чи можете ви, будь-ласка, підтримати ваш коментар будь-якими аргументами, щоб інші могли дізнатися з нього?
Денис Расулев

@Craig Я другий запит "Дениса Расулева". ShareHub не дає жодних значущих результатів, а решта ваших коментарів є виразною.
lucid_dreamer

@ Деніс, як це рішення порівнюється з mybinder.org ? Будь-які коментарі?
lucid_dreamer

@ user1712447, ідея виглядає чудово, але мені не пощастило, щоб приклади постійно отримували помилку "немає місця". Тож вам нічого не можу сказати. Окрім того, обговорювати це тут, імхо, виглядає дещо як поза темою.
Денис Расулєв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.