- Начало работы с Jupyter Notebook
- Требования
- 1: Установка Jupyter Notebook
- 2: Запуск Jupyter Notebook
- 3: Подключение к серверу по SSH-туннелю
- SSH-туннелирование на Mac или Linux
- SSH-туннелирование в Windows через Putty
- 4: Работа с Jupyter Notebook
- Заключение
- Руководство по Jupyter Notebook для начинающих
- Настройка Jupyter Notebook
- Основы Jupyter Notebook
- Добавление описания к notebook
- Интерактивная наука о данных
Начало работы с Jupyter Notebook
Jupyter Notebook предоставляет командную оболочку для интерактивных вычислений в виде веб-приложения. Этот инструмент совместим с несколькими языками, включая Python, R, Julia и Scala. Он часто используется для работы с данными, статистического моделирования и машинного обучения.
Jupyter Notebook предоставляет возможность создавать документы, «notebooks». Документы Jupyter Notebook являются разделяемыми, воспроизводимыми исследовательскими документами, которые включают элементы расширенного текста, уравнения, код и их результаты (рисунки, таблицы, интерактивные графики). Их также можно экспортировать в файлы исходного кода, документы HTML или PDF или использовать для создания интерактивных слайд-шоу или веб-страниц.
В этом мануале вы узнаете, как установить и настроить приложение Jupyter Notebook на сервере Ubuntu 18.04 и как подключиться к нему с локального компьютера. Кроме того, мы также рассмотрим, как использовать Jupyter Notebook для запуска кода Python.
Требования
- Сервер Ubuntu 18.04, настроенный согласно этому мануалу.
- Предварительно установленные Python 3, pip и venv. Все инструкции можно найти в мануале Установка Python 3 и настройка среды разработки на сервере Ubuntu 18.04.
- Современный веб-браузер на локальной машине. Он нужен для доступа к Jupyter Notebook.
Кроме того, если ваш локальный компьютер работает под управлением Windows, вам нужно установить на него PuTTY, чтобы в дальнейшем создать SSH-туннель к вашему удаленному серверу. Чтобы скачать и установить PuTTY, следуйте нашему мануалу Вход на сервер через PuTTY (для пользователей Windows).
1: Установка Jupyter Notebook
Поскольку документы используются для написания, запуска и просмотра результатов небольших фрагментов кода, сначала необходимо настроить поддержку языка программирования. Jupyter Notebook использует ядро для конкретного языка (компьютерную программу, которая запускает и анализирует код). Jupyter Notebook поддерживает много ядер для разных языков, по умолчанию используется IPython. В этом мануале мы настроим Jupyter Notebook для запуска кода Python через ядро IPython.
Согласно требованиям у вас должен быть установлен Python 3, pip и виртуальная среда. В этих примерах (как и в мануале по установке Python 3) виртуальная среда называется my_env, но вы можете смело переименовать ее.
Для начала активируйте виртуальную среду:
После этого в командной строке появится префикс – имя вашей среды.
Находясь в виртуальной среде, установите Jupyter Notebook:
python3 -m pip install jupyter
Если установка прошла успешно, вы увидите такой вывод:
. . .
Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2
Jupyter Notebook был успешно установлен на ваш удаленный сервер. Теперь попробуем запустить приложение.
2: Запуск Jupyter Notebook
Jupyter Notebook должен быть запущен на вашем VPS, чтобы вы могли подключиться к нему с локального компьютера через SSH-туннель и веб-браузер.
Чтобы запустить сервер Jupyter Notebook, введите следующую команду:
После выполнения этой команды вы увидите подобный вывод:
[I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/8host/.local/share/jupyter/runtime/notebook_cookie_secret
[I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/8host/environments
[I 19:46:22.365 NotebookApp] 0 active kernels
[I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at:
[I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser.
[C 19:46:22.367 NotebookApp] Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
В выводе вы можете заметить предупреждение, что веб-браузер отсутствует: «No web browser». Этого и следует ожидать, так как приложение работает на удаленном сервере, и вы, вероятно, не устанавливали на него веб-браузер. Далее в этом мануале будет рассказано, как подключиться к Notebook на удаленном сервере с помощью SSH-туннелирования. Мы обсудим это в следующем разделе.
На данный момент нужно выйти из Jupyter Notebook, нажав Ctrl+C, затем y, а затем Enter для подтверждения:
Shutdown this notebook server (y/[n])? y
[C 20:05:47.654 NotebookApp] Shutdown confirmed
[I 20:05:47.654 NotebookApp] Shutting down 0 kernels
Затем выйдите из сервера:
Только что вы запустили Jupyter Notebook на своем сервере. Однако чтобы получить доступ к приложению и начать работать с документами, вам необходимо подключиться к приложению с помощью SSH-туннеля и веб-браузера на локальном компьютере.
3: Подключение к серверу по SSH-туннелю
Туннелирование SSH – это простой и быстрый способ подключения к приложению Jupyter Notebook на удаленном сервере. Оболочка Secure shell (более известная как SSH) – это сетевой протокол, который позволяет безопасно подключаться к удаленному серверу по незащищенной сети.
Протокол SSH включает механизм переадресации портов, который позволяет создавать туннели между конкретными портами на сервере и на вашем локальном компьютере. В этом разделе вы узнаете, как туннелировать приложение Jupyter Notebook, работающее на вашем сервере (по умолчанию это порт 8888), на локальную машину.
Метод установки туннеля SSH будет зависеть от операционной системы вашего локального компьютера. Выберите соответствующий подраздел и выполните его.
SSH-туннелирование на Mac или Linux
Если вы используете Mac или Linux, вы можете создать туннель с помощью одной команды.
ssh – это стандартная команда для открытия соединения SSH, но флаг -L в ней позволяет указать, что данный порт на локальном хосте (то есть на вашем локальном компьютере) будет перенаправляться на данный хост и порт на удаленной стороне (в данном случае это ваш сервер). Это означает, что все, что работает по порту 8888 на сервере (в команде этот порт указывается после localhost), будет отображаться по порту 8888 на вашем локальном компьютере (этот порт идет перед localhost).
Чтобы установить SSH-туннель, выполните следующую команду. Вместо порта 8000 укажите любой другой порт (если, например, 8000 используется другим процессом). Рекомендуется использовать номера портов от 8000 и выше, так как эти порты вряд ли будут заняты другими процессами. Не забудьте указать IP-адрес вашего сервера и имя пользователя (не root):
ssh -L 8000:localhost:8888 8host@your_server_ip
Если после выполнения команды не появляется никаких ошибок, вы можете войти на удаленный сервер и активировать виртуальную среду:
В среде запустите Jupyter Notebook:
Чтобы подключиться к Jupyter Notebook, откройте в браузере на локальном компьютере веб-интерфейс Jupyter Notebook по URL-адресу, который начинается с http://localhost:8000.
SSH-туннелирование в Windows через Putty
В системе Windows SSH-туннель можно создать с помощью Putty.
PuTTY – это открытый SSH-клиент для Windows, который можно использовать для подключения к вашему серверу. После загрузки и установки PuTTY на вашем компьютере Windows откройте программу и введите URL или IP-адрес вашего сервера в поле Host Name (or IP address).
Затем нажмите кнопку SSH в нижней части левой панели, чтобы развернуть меню, и нажмите Tunnels. Введите номер локального порта, который будет использоваться для доступа к Jupyter на локальном компьютере. Рекомендуется использовать номера портов от 8000 и выше, так как эти порты вряд ли будут заняты другими процессами. Установите назначение localhost:8888 (где 8888 – это номер порта, на котором работает Jupyter Notebook).
Теперь нажмите кнопку Add, после чего порты должны появиться в списке Forwarded ports.
Затем нажмите кнопку Open, чтобы подключиться к серверу через SSH и туннелировать нужные порты. Если при этом не возникло ошибок, активируйте виртуальную среду:
И запустите Jupyter Notebook:
В браузере перейдите по адресу http://localhost:8000 (или укажите порт, который вы выбрали), чтобы подключиться к экземпляру Jupyter Notebook на сервере.
4: Работа с Jupyter Notebook
При доступе через веб-браузер Jupyter Notebook предоставляет панель инструментов Notebook Dashboard, которая действует как файловый браузер и предоставляет вам интерфейс для создания, редактирования и изучения документов. Это документы с расширением .ipynb, которые заполняются любым количеством отдельных ячеек. Каждая ячейка содержит интерактивный текстовый редактор, который можно использовать для запуска кода или написания текста. Кроме того, документы позволяют писать и выполнять уравнения, а также включают в себя другие мультимедиа, такие как изображения или интерактивные графики. Их можно экспортировать и совместно использовать в различных форматах (.ipyb, .pdf, .py). Чтобы проиллюстрировать некоторые из этих функций, мы создадим файл документа с помощью панели инструментов Notebook Dashboard, запишем простой текст с уравнением и запустим базовый код Python 3.
К этому моменту вы должны были подключиться к серверу через туннель SSH и запустить приложение Jupyter Notebook с вашего сервера. После перехода по адресу http://localhost:8000 вы увидите страницу входа.
В верхнем поле Password or token введите токен, который был показан в выводе после запуска на сервере команды jupyter notebook:
[I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/8host
[I 20:35:17.314 NotebookApp] 0 active kernels
[I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at:
[I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser.
[C 20:35:17.316 NotebookApp] . . .
Кроме того, вы можете скопировать этот URL из вывода вашего терминала и вставить его в адресную строку браузера.
В документе Jupyter автоматически отобразятся все файлы и папки, хранящиеся в каталоге, из которого он запущен. Создайте новый файл документа, нажав New, а затем «Python 3» в правом верхнем углу панели инструментов Notebook Dashboard.
Это откроет новый документ. Например, чтобы первая ячейка принимала Markdown, кликните Cell > Cell Type > Markdown в верхней панели навигации. Теперь можно делать записи, используя Markdown, и даже включать уравнения, написанные в LaTeX, помещая их между символами $$. Например, в ячейку с поддержкой Markdown введите следующее:
# Simple Equation
Let us now implement the following equation in Python:
$$ y = x^2$$
where $x = 2$
Чтобы превратить Markdown в форматированный текст, нажмите сочетание клавиш Ctrl + Enter.
Вы можете использовать ячейки markdown, чтобы делать заметки и документировать свой код.
Давайте выполним это простое уравнение и выведем результат на экран. Нажмите Insert > Insert Cell Below, чтобы добавить новую ячейку. Введите следующий код в новой ячейке.
x = 2
y = x*x
print(y)
Чтобы запустить код, нажмите Ctrl + Enter. На экране появится результат.
Вот несколько сравнительно простых примеров того, что вы можете сделать с помощью Jupyter Notebook. Но помните – это приложение очень мощное, оно имеет много других, более сложных вариантов использования. Теперь вы можете добавить библиотеки Python, импортировать модули и использовать документы, как и в любой другой среде разработки Python!
Заключение
Теперь вы можете писать воспроизводимый код Python и создавать заметки в Markdown с помощью Jupyter Notebook. Быстрый обзор Jupyter Notebook можно получить прямо из интерфейса, для этого выберите Help > User Interface Tour в верхнем меню навигации.
Если вам интересно узнать о Jupyter Notebook больше, мы рекомендуем изучить документацию Project Jupyter. Кроме того, вы можете научиться программировать на Python 3.
Источник
Руководство по Jupyter Notebook для начинающих
Jupyter Notebook — это мощный инструмент для разработки и представления проектов Data Science в интерактивном виде. Он объединяет код и вывод все в виде одного документа, содержащего текст, математические уравнения и визуализации.
Такой пошаговый подход обеспечивает быстрый, последовательный процесс разработки, поскольку вывод для каждого блока показывается сразу же. Именно поэтому инструмент стал настолько популярным в среде Data Science за последнее время. Большая часть Kaggle Kernels (работы участников конкурсов на платформе Kaggle) сегодня созданы с помощью Jupyter Notebook.
Этот материал предназначен для новичков, которые только знакомятся с Jupyter Notebook, и охватывает все этапы работы с ним: установку, азы использования и процесс создания интерактивного проекта Data Science.
Настройка Jupyter Notebook
Чтобы начать работать с Jupyter Notebook, библиотеку Jupyter необходимо установить для Python. Проще всего это сделать с помощью pip:
Лучше использовать pip3 , потому что pip2 работает с Python 2, поддержка которого прекратится уже 1 января 2020 года.
Теперь нужно разобраться с тем, как пользоваться библиотекой. С помощью команды cd в командной строке (в Linux и Mac) в первую очередь нужно переместиться в папку, в которой вы планируете работать. Затем запустите Jupyter с помощью следующей команды:
Это запустит сервер Jupyter, а браузер откроет новую вкладку со следующим URL: https://localhost:8888/tree. Она будет выглядеть приблизительно вот так:
Отлично. Сервер Jupyter работает. Теперь пришло время создать первый notebook и заполнять его кодом.
Основы Jupyter Notebook
Для создания notebook выберите «New» в верхнем меню, а потом «Python 3». Теперь страница в браузере будет выглядеть вот так:
Обратите внимание на то, что в верхней части страницы, рядом с логотипом Jupyter, есть надпись Untitled — это название notebook. Его лучше поменять на что-то более понятное. Просто наведите мышью и кликните по тексту. Теперь можно выбрать новое название. Например, George’s Notebook .
Теперь напишем какой-нибудь код!
Перед первой строкой написано In [] . Это ключевое слово значит, что дальше будет ввод. Попробуйте написать простое выражение вывода. Не забывайте, что нужно пользоваться синтаксисом Python 3. После этого нажмите «Run».
Вывод должен отобразиться прямо в notebook. Это и позволяет заниматься программированием в интерактивном формате, имея возможность отслеживать вывод каждого шага.
Также обратите внимание на то, что In [] изменилась и вместе нее теперь In [1] . Число в скобках означает порядок, в котором эта ячейка будет запущена. В первой цифра 1 , потому что она была первой запущенной ячейкой. Каждую ячейку можно запускать индивидуально и цифры в скобках будут менять соответственно.
Рассмотрим пример. Настроим 2 ячейки, в каждой из которых будет разное выражение print . Сперва запустим вторую, а потом первую. Можно увидеть, как в результате цифры в скобках меняются.
Если есть несколько ячеек, то между ними можно делиться переменными и импортами. Это позволяет проще разбивать весь код на связанные блоки, не создавая переменную каждый раз. Главное убедиться в запуске ячеек в правильном порядке, чтобы переменные не использовались до того, как были созданы.
Добавление описания к notebook
В Jupyter Notebook есть несколько инструментов, используемых для добавления описания. С их помощью можно не только оставлять комментарии, но также добавлять заголовки, списки и форматировать текст. Это делается с помощью Markdown.
Первым делом нужно поменять тип ячейки. Нажмите на выпадающее меню с текстом «Code» и выберите «Markdown». Это поменяет тип ячейки.
Попробуем несколько вариантов. Заголовки можно создавать с помощью символа # . Один такой символ создаст самый крупный заголовок верхнего уровня. Чем больше # , тем меньше будет текст.
Сделать текст курсивным можно с помощью символов * с двух сторон текста. Если с каждой стороны добавить по два * , то текст станет полужирным. Список создается с помощью тире и пробела для каждого пункта.
Интерактивная наука о данных
Соорудим простой пример проекта Data Science. Этот notebook и код взяты из реального проекта.
Начнем с ячейки Markdown с самым крупным текстом, который делается с помощью одного # . Затем список и описание всех библиотек, которые необходимо импортировать.
Следом идет первая ячейка, в которой происходит импорт библиотек. Это стандартный код для Python Data Science с одним исключение: чтобы прямо видеть визуализации Matplotlib в notebook, нужна следующая строчка: %matplotlib inline .
Следом нужно импортировать набор данных из файла CSV и вывести первые 10 пунктов. Обратите внимание, как Jupyter автоматически показывает вывод функции .head() в виде таблицы. Jupyter отлично работает с библиотекой Pandas!
Теперь нарисуем диаграмму прямо в notebook. Поскольку наверху есть строка %matplotlib inline , при написании plt.show() диаграмма будет выводиться в notebook!
Также обратите внимание на то, как переменные из предыдущих ячеек, содержащие данные из CSV-файла, используются в последующих ячейках в том случае, если по отношению к первым была нажата кнопка «Run».
Это простейший способ создания интерактивного проекта Data Science!
На сервере Jupyter есть несколько меню, с помощью которых от проекта можно получить максимум. С их помощью можно взаимодействовать с notebook, читать документацию популярных библиотек Python и экспортировать проект для последующей демонстрации.
Файл (File): отвечает за создание, копирование, переименование и сохранение notebook в файл. Самый важный пункт в этом разделе — выпадающее меню Download , с помощью которого можно скачать notebook в разных форматах, включая pdf, html и slides для презентаций.
Редактировать (Edit): используется, чтобы вырезать, копировать и вставлять код. Здесь же можно поменять порядок ячеек, что понадобится для демонстрации проекта.
Вид (View): здесь можно настроить способ отображения номеров строк и панель инструментов. Самый примечательный пункт — Cell Toolbar , к каждой ячейке можно добавлять теги, заметки и другие приложения. Можно даже выбрать способ форматирования для ячейки, что потребуется для использования notebook в презентации.
Вставить (Insert): для добавления ячеек перед или после выбранной.
Ячейка (Cell): отсюда можно запускать ячейки в определенном порядке или менять их тип.
Помощь (Help): в этом разделе можно получить доступ к важной документации. Здесь же упоминаются горячие клавиши для ускорения процесса работы. Наконец, тут можно найти ссылки на документацию для самых важных библиотек Python: Numpy, Scipy, Matplotlib и Pandas.
Источник