Представьте, что ваши друзья работают с вашим локальным ноутбуком Jupyter на удаленной машине

Мотивация

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

Google Colab позволяет вам делиться записной книжкой. Где находится кнопка «Поделиться» в Jupyter Notebook? Прежде чем переходить с Jupyter Notebook на Google Colab для совместной работы, вы можете рассмотреть альтернативу: создать общедоступный сервер для вашего Jupyter Notebook с помощью ngrok.

Нгрок

Что такое нгрок? Ngrok предоставляет доступ к вашим локальным серверам за NAT и межсетевыми экранами в общедоступный Интернет через безопасные туннели. Это означает, что вы можете подключить свой локальный сервер к порту веб-сервера. При доступе к этому веб-серверу вы сможете получить доступ к указанному вами локальному адресу. С 3 строками кода на вашем терминале вы получите общедоступный URL-адрес вашего Jupyter Notebook, который готов к совместному использованию!

Установка

Начните с установки ngrok здесь. Затем зарегистрируйтесь в учетной записи ngrok. После регистрации вы сможете получить маркер авторизации туннеля здесь.

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

Затем разрешите удаленный доступ к Jupyter Notebook, изменив конфигурацию вашего Jupyter Notebook.

jupyter notebook --generate-config

Вы увидите адрес ссылки на файл конфигурации вашего Jupyter Notebook. На моей машине эта ссылка /Users/khuyentran/.jupyter/jupyter_notebook_config.py. Скопируйте этот адрес. Затем запустите код ниже

echo "c.NotebookApp.allow_remote_access = True" >> ~/.jupyter/jupyter_notebook_config.py

Для дополнительной безопасности установите пароль для своего Jupyter Notebook.

jupyter notebook password

Затем сообщите ngrok, на каком порту работает ваш ноутбук jupyter. Если ваш порт - 8888. Введите:

./ngrok http 8888

Вы должны увидеть результат ниже

Щелкните ссылку http://b32b5f59.ngrok.io, чтобы получить доступ к общедоступному URL-адресу вашего туннеля.

Вот и все! Теперь вы сможете скопировать и вставить созданную ссылку и поделиться ею со своими друзьями и коллегами! Обязательно сообщите им свой пароль для доступа к записной книжке.

Заключение

Поздравляю! Вы узнали, как поделиться своим Jupyter Notebook и работать с ним на другом компьютере. Следует отметить, что, поскольку этот общедоступный веб-сервер подключается к вашей локальной машине, если вы завершаете работу сервера на своем локальном компьютере, общедоступный URL-адрес вашего туннеля также будет отключен. Поэтому убедитесь, что ваш сервер запущен, если вы хотите, чтобы Jupyter Notebook работал на другом компьютере.

Последний, но тем не менее важный. Запустите эту командную строку на своем терминале:

say "Thank you for reading this article"

Мне нравится писать об основных концепциях науки о данных и играть с различными алгоритмами и инструментами анализа данных. Вы могли связаться со мной в LinkedIn и Twitter.

Пометьте это репо, если хотите проверить коды всех моих статей. Следуйте за мной на Medium, чтобы быть в курсе моих последних статей по науке о данных, таких как: