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

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

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

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

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

Ответ 1

"Лучший" способ поделиться записной книжкой Jupyter - это просто разместить ее на GitHub (и просмотреть ее напрямую) или какой-либо другой общедоступной ссылке и использовать Jupyter Notebook Viewer. Когда конфиденциальность более важна, то есть альтернативы, но она, конечно, более сложна, нет никакого встроенного способа сделать это только в Jupyter, но есть несколько вариантов:

Разместите свой собственный nbviewer

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

Инструкции по установке более сложны, чем я хочу здесь, но если у вашей компании/команды есть общий сервер, который не требует доступа к паролю, тогда вы можете разместить на этом сервере nbviewer и направить его для загрузки с вашего сервера с учетными данными., Это, вероятно, потребует более сложной конфигурации, чем вы найдете в документации.

Настройте сценарий развертывания

Если вам необязательно обновлять HTML в режиме реального времени, вы можете настроить скрипт на своем сервере с полномочиями, который будет просто использовать встроенные в Jupyter параметры экспорта для создания статических файлов HTML, а затем отправлять их на более общедоступный сервер.

Ответ 2

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

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

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

EDIT. С Jupyter/IPython Big Split вы, вероятно, захотите изменить это на !jupyter nbconvert <notebook name>.ipynb --to html сейчас.

Ответ 3

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

На данный момент это самый простой способ для меня.

Ответ 4

Если вы используете kyso.io (выражение об отказе: я основал kyso), вы можете легко обмениваться записными книжками в Интернете:

  • Это вы можете показать/скрыть код, так что нетехнические люди могут читать его
  • Интерактивные визуализации работают отлично, как боке и сюжетно.

Загрузите свой блокнот здесь:

https://kyso.io/upload

Вот несколько примеров:

Ответ 5

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

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

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

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

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

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

Ответ 7

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

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

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

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

[gist gist_url]

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

Ответ 8

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

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

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

Ответ 9

on CoCalc вы можете загрузить свой файл ipynb и сотрудничать с другими в режиме реального времени. Существует также способ публикации файлов как статических HTML файлов, но вы также можете приглашать своих членов команды в свой проект и работать над файлом, пока они наблюдают, что происходит. Существует также чат-чат, говорящий о содержании.

Ответ 10

www.zepl.com - это концентратор ноутбуков для научных исследований. (отказ от ответственности. Я являюсь соучредителем ZEPL) Вы можете подключить Github или S3 к файлам .ipynb и получить

  • Контроль доступа к ноутбуку (публикация только для чтения)
  • Ноутбуки автоматически синхронизируются с Github/S3 (обновление)
  • Report looknfeel (для нетехнических людей)
  • Команда и рабочее пространство для организации обмена (надежно передайте команду)
  • Комментарии к ячейкам
  • Оба ноутбука Jupyter и поддержка ноутбуков Zeppelin

Ответ 11

Самый простой способ, и то, что я делаю, - это убедиться, что все ваши рисунки встроены и опубликованы в формате HTML. Таким образом, его можно просмотреть в любом браузере. Вы также можете опубликовать в формате PDF. Вы можете оптимизировать ноутбук с помощью таких команд, как head(), чтобы фрагменты информации были доступны для просмотра.

Ответ 12

Облако Сатурна позволяет вам сделать это! Есть несколько ключевых вещей, которые Saturn Cloud разрешает другим службам.

  • Записные книжки Saturn Cloud Jupyter мгновенно запускаются. Вот блокнот в твиттере по теме моделирования. Один щелчок позволяет любому запустить его.
  • Пользовательская среда - с помощью saturn вы можете зайти в файл environment.yaml или require.txt, и ваши зависимости от python докеризируются и будут использоваться совместно с вашими ноутбуками.
  • Масштабируемое оборудование - ваши совместно используемые ноутбуки могут использовать до 64 ГБ оперативной памяти, а также графический процессор Tesla M60.
  • Saturn Cloud управляет S3 для вас - так что вы можете хранить большие данные и делиться доступом к ним в опубликованных записных книжках