Как я могу поделиться ноутбуками Jupyter с непрограммистами? [закрыто]


167

Я пытаюсь обернуть голову вокруг того, что я могу / не могу сделать с Jupyter.

У меня на внутреннем сервере работает сервер Jupyter, доступный через VPN и защищенный паролем.

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

Я видел варианты экспорта, но не могу найти упоминаний об «публикации» или «обнародовании» локальных записных книжек. Это невозможно? Может быть, это просто неправильный способ думать о том, как следует использовать Jupyter?


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

4
Но чтобы сохранить это в тайне, нам пришлось бы платить за счета.
xav

Так ты не хочешь, чтобы они были полностью публичными? Если только для местных жителей, почему они не могут получить доступ к серверу?
Джоншарп

2
Извините, если не было понятно. Я хотел бы предоставить записные книжки на сервере (это может увидеть только команда), но, если возможно, я бы не хотел давать им пароль экземпляра Jupyter или любой другой способ доступа с правами редактирования.
xav

4
возможно, вы можете просто создать секретную суть ( gist.github.com ) «Секретные суть скрыты от поисковых систем, но видны всем, кому вы дадите URL». один даже не имеет учетной записи GitHub. быстро.
тагома

Ответы:


78

«Лучший» способ поделиться записной книжкой Jupyter - это просто разместить ее на GitHub (и просмотреть ее напрямую) или какой-либо другой общедоступной ссылке и использовать Jupyter Notebook Viewer . Когда конфиденциальность более важна, то есть альтернативы, но она, безусловно, более сложна; в 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
Я был удивлен, обнаружив, насколько интуитивно понятна и проста в использовании Лаборатория. Обратите внимание, что вы можете поделиться ссылкой только для просмотра, но посетители могут включить режим «площадка» для запуска блоков кода и настройки параметров. очень круто.
Тимоти Ломбард

Все ярлыки разбиты в колабе.
математика

Вы можете начать здесь: введение Google colab
cglacet

24

Предложение Майкла о запуске вашего собственного экземпляра nbviewer было хорошим, которое я использовал в прошлом с сервером Enterprise Github.

Другая легкая альтернатива - иметь в конце ноутбука ячейку, которая выполняет оболочку для вызова nbconvert, чтобы она автоматически обновлялась после выполнения всего этого:

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

РЕДАКТИРОВАТЬ : С Big Split Jupyter / IPython вы, вероятно, захотите изменить это !jupyter nbconvert <notebook name>.ipynb --to htmlсейчас.


12

Это зависит от того, что вы собираетесь делать со своим ноутбуком: хотите ли вы, чтобы пользователь мог пересчитать результаты или просто поиграть с ними?

Статическая тетрадь

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

Живой блокнот

Если вы хотите, чтобы ваш пользователь мог пересчитать некоторые части, вы также можете использовать MyBinder . Запуск вашего ноутбука занимает некоторое время, но результат того стоит.

Как сказал @Mapl, Google может разместить ваш ноутбук с Colab . Приятной особенностью является вычисление ваших ячеек с помощью графического процессора.


1
MyBinder создаст значок, который вы можете разместить в своем репо, чтобы пользователи могли легко запускать активную ( живую ) записную книжку, базовый пример см. Здесь . Вы даже можете указать запуск непосредственно на определенной странице блокнота ACTIVE, а не на панели мониторинга Jupyter, указав путь к файлу блокнота, прежде чем нажать стрелку вниз рядом с кнопкой запуска, чтобы получить значок.
Уэйн

7

Отличный способ сделать это на WordPress состоит из следующих шагов:

Шаг 1: Откройте записную книжку Jupyter в текстовом редакторе и скопируйте содержимое, которое может выглядеть так: Ваш файл .ipynb может выглядеть так при открытии в текстовом редакторе.

Шаг 2: Ctrl + A и Ctrl + C это содержимое. Затем Ctrl + V это к GitHub Gist, который вы должны создать.

Шаг 3. Создайте общедоступную суть и вставьте ее, как вы всегда встраиваете гистограммы в WordPress, а именно, перейдите в редактор HTML и добавьте так:

[gist gist_url]

Я фактически реализовал это в своем блоге. Вы можете найти пост здесь


4

Еще одним способом достижения этой цели было бы использование JupyterHub .

С помощью JupyterHub вы можете создать многопользовательский концентратор, который порождает, управляет несколькими прокси-серверами Jupyter и управляет ими. Благодаря своей гибкости и возможностям настройки JupyterHub можно использовать для подачи записных книжек студентам, корпоративной группе по изучению данных или научно-исследовательской группе.

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


2
Пока jupyterhub полезен только для предоставления многим пользователям доступа к использованию jupyter. Совместное использование записных книжек работает с ShareHub, но jupyterhub не помогает.
Крейг

@Craig, у тебя была возможность попробовать? Что такое ShareHub? Что заставило вас думать, что JupyterHub не помогает в этом случае? Можете ли вы, пожалуйста, поддержать свой комментарий какими-либо аргументами, чтобы другие могли извлечь из него пользу?
Денис Расулев

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

@Denis, как это решение сравнивается с mybinder.org ? Любые комментарии?
lucid_dreamer

@ user1712447, идея выглядит великолепно, но мне не повезло с примерами, постоянно получающими ошибку «без пробелов». Так что ничего не могу вам сказать. Кроме того, обсуждение этого вопроса, imho, выглядит немного не по теме.
Денис Расулев
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.