Как я могу поделиться ноутбуками 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. Приятной особенностью является вычисление ваших ячеек с помощью графического процессора.
Ответ 6
Возможно, они выглядят недостаточно зрелыми, но проверьте Jupyter Dashboard
https://github.com/jupyter-incubator/dashboards
https://github.com/jupyter-incubator/dashboards_server
и Thebe
Ответ 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 для вас - так что вы можете хранить большие данные и делиться доступом к ним в опубликованных записных книжках