Перейти к содержимому

Как добавить меню navigate в jupiter

  • автор:

Настройка сочетаний клавиш в ipython notebook

Задача следующая: в ipython notebook необходимо добавить сочетание клавиш для конкретного действия из меню. Например, требуется назначить клавиши для перемещения ячейки вниз и вверх. В справке, показываемой в ipython notebook по кнопке H , сочетания клавиш для этих действий не обнаружено. Найденное в интернете сочетание клавиш Ctrl + m , j не работает.

Отслеживать
Timofei Bondarev
задан 15 апр 2015 в 10:48
Timofei Bondarev Timofei Bondarev
9,386 4 4 золотых знака 40 40 серебряных знаков 57 57 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Если требуется добавить новое сочетание клавиш для какого-либо действия в ipython-notebook , достаточно добавить соответствующую запись в файл /static/custom/custom.js своего профиля, где — это путь к настройкам профиля ipython.

По умолчанию ipython запускается под стандартным профилем, настройки которого обычно расположены по адресу ~/.ipython/profile_default/ .

Открываем соответствующий файл custom.js в любом редакторе и добавляем действие при загрузке ipython notebook (для примера назначим клавиши Shift-j и Shift-k командам «опустить ячейку» и «поднять ячейку» соответственно):

$([IPython.events]).on('app_initialized.NotebookApp', function() < IPython.keyboard_manager.command_shortcuts.add_shortcut( 'shift-j', 'ipython.move-selected-cell-down'); IPython.keyboard_manager.command_shortcuts.add_shortcut( 'shift-k', 'ipython.move-selected-cell-up'); >); 

В первой строке мы добавили анонимную функцию, которая будет запущена при старте ipython notebook .

В ней происходит добавление двух сочетаний клавиш для стандартных действий с помощью метода add_shortcut объекта IPython.keyboard_manager.command_shortcuts .

В метод add_shortcut в простейшем случае передаются две строки. Первая соответствует сочетанию клавиш, а вторая отвечает за действие по этому сочетанию.

Объект IPython.keyboard_manager.command_shortcuts отвечает за сочетания клавиш в командном режиме. Если требуется добавить сочетание в режим редактирования, используйте объект IPython.keyboard_manager.edit_shortcuts

Список всех стандартных действий (и соответствующих им строк) я нашёл только в исходном коде jupyter . Важно помнить, что названия стандартных действий должны иметь префикс ipython. , как в примере выше.

Как я понял, отсутствие официальной документации аргументируется тем, что IPython JavaScript API постоянно изменяется.

Также существует расширенное создание действий на сочетание клавиш: вторым аргументом функции add_shortcut вместо строки можно передать объект со следующими полями:

  • help : строка, которая будет показываться в справке по всем сочетаниям клавиш.
  • help_index : строка (по умолчанию zz ), в соответствии с которой осуществляется сортировка сочетаний клавиш в справке.
  • handler : функция, принимающая один аргумент (объект event ), описывающая действие по сочетанию клавиш.
    Если эта функция возвращает false , то обработка сочетания клавиш будет на этом завершена, а также не будет вызвана обработка по умолчанию (обычно и возвращают false ). Подробнее в документации по обработке событий jQuery.

Посмотрим на примере, как это выглядит:

IPython.keyboard_manager.command_shortcuts.add_shortcut('shift-j', < help : 'move cell down', help_index : 'zz', handler : function(event) < IPython.notebook.move_cell_down(); return false; >> ); 

Это второй, известный мне, и более общий способ добавить действие по сочетанию клавиш.

  • Определение списка стандартных действий в исходном коде программы
  • Справка по созданию своих действий на сочетания клавиш
  • Реализация стандартных действий в исходном коде программы
  • Добавление сочетаний клавиш в исходном коде программы
  • Небольшая статья о JavaScript API для ipython notebook

ipywidgets: создаем графические приложения на базе Jupyter

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

Основным достоинством Jupyter Notebook является то, что каждая ячейка представляет из себя отдельную программу, которая способна исполниться, как независимо от других ячеек, так и взять переменные из уже выполненных ячеек. Данное достоинство позволило стать юпитеру самым удобным инструментом для аналитика данных. И дальнейшее развитие этого инструмента именно в таком ключе привело к созданию библиотеки ipywidgets, основная задача которой создать в рамках ноутбуков инструменты визуализации и интерактивности. Предоставляя инструменты в виде элементов управления (кнопок, чекбоксов, слайдеров и т.д.), контейнеров для медиа и инструмента для создания графиков на основе Matplotlib, ipywidgets стал лучшим инструментом для визуализации работы с данными. Однако, ipywidgets – это не просто инструмент для создания интерактивности в ячейках, но и полноценная система для построения клиентских приложений внутри Jupyter Notebook, которая во многом схожа с WPF или Swing. Именно эту сторону библиотеки я постараюсь сегодня раскрыть.

Для демонстрации возможностей ipywidgets я создал совсем небольшое приложение состоящее всего из трех форм:

Первая форма – это главное меню, с которого можно перейти на две другие.

Первая форма

Вторая форма – форма на которой можно посмотреть список товаров, которые есть в базе данных. В базе данных сохраняется только пара с именем какого-то продукта и количества его на складе. В качестве БД, я использовал Redis, развернутый в докере.

Вторая форма

На этой форме можно увидеть очень серьезную проблему ipywidgets – это отсутствие чего-то вроде GridView. Из-за этого создавать красивые табличные представления стандартными инструментами практически невозможно (справедливости ради есть второй, более сложный, но и более внешне привлекательный способ решения этой задачи с точки зрения эстетической красоты. Он описан по ссылке. Однако, на практике в промышленных задачах использовался только первый способ – выравнивание с помощью f-string).

Также можно заметить, что на форме нет кнопки «Назад». Это еще одна проблема ipywidgets, о которой я расскажу чуть позже. Можно заметить, что данная форма открылась в отдельной вкладке. Это один из наиболее удобных способов управлять связанными формами.

Третья форма – это форма, на которой можно ввести количество товара и его количество, после чего сохранить эту информацию в БД. Приложение сообщит о том, что сохранение прошло успешно сообщением под кнопкой “Сохранить”.

Третья форма

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

Шаг 1. Установка библиотек и создание первой формы

Для работы с ipywidgets понадобится всего две библиотеки: сама ipywidgets и оболочка IPython. Они устанавливаются через pip install.

Нужно понимать, что для запуска нужен Jupyter Notebook. Без него приложения работать не будут и программа просто выведет в консоли кортеж, в котором находятся объекты элементов на первой форме:

Кортеж, содержащий объекты элементов

Установить Jupyter, можно через pip install или в докере, или с помощью плагина для VS Code.

Перед началом разработки, стоит решить – что будет использоваться в качестве контейнера форм. Как я написал выше, очень удобно использовать вкладки (класс Tab), однако, они могут стать большой проблемой в случае, если в приложении предполагается большое количество переходов между формами и возвратов на предыдущую форму. Связано это с тем, что по сути все вкладки хранятся в кортеже и для того, чтобы добавить новую вкладку, нужно пересоздавать кортеж с новой (об этом чуть позже) и точно так же пересоздавать кортеж без удаляемой вкладки, которую еще нужно найти в кортеже, что практически невозможно при большом количестве вкладок. Есть альтернативный вариант с использованием представлений HBox или VBox. Несмотря на то, что этот подход наиболее похож на подходы, используемые в Swing и WinForms, он порождает проблему с возвратом на предыдущую форму, если она должна хранить какое-то состояние. Именно это является проблемой реализации кнопки «Назад». На практике, в больших приложениях дебаг этой кнопки с очень большой вероятностью превратиться в ад. Именно поэтому я в своем опыте и данном приложении использую вкладки, так как это наиболее простой способ перемещаться на более старые формы. Более того, если вкладка не будет закрыта, то ее состояние сохранится до конца работы приложения, даже если были открыты несколько таких форм в других вкладках.

Перейдем к созданию формы главного меню.

1) Импортируем необходимые библиотеки:

import ipywidgets as widgets from IPython.display import display import redis

2) Для начала нам необходимо создать нашу систему вкладок:

Она представляет из себя виджет Tab, который содержит параметр children и который является кортежем, содержащим все существующие вкладки. В данном приложении при создании объекта Tab мы не указываем ни одной вкладки.

Передаваемый параметр layout определяет размещение и размеры объекта. В данном случае задается ширина вкладки.

3) Кнопки создаются следующим образом:

list_btn = widgets.Button(description=»Просмотр товаров»)

На кнопку необходимо повесить обсервер, который будет реагировать на нажатие на кнопку:

Это делается с помощью метода on_click, ему передается другой метод: в данном случае это метод, отрисовывающий требуемую форму. Необходимо учесть, что в указанный метод передается *args.

def __list_form(self, *args)

Аналогичным способом создаем и вторую кнопку.

1) Для отображения всех элементов на форме в едином контейнере, необходимо этот контейнер создать, делается это следующим образом:

box = widgets.VBox([ widgets.Label("Выберите пункт меню:"), list_btn, add_btn ])

Контейнер представляет из себя объект класса, содержащий в себе список виджетов. Можно заметить, что прямо внутри создания контейнера был создан Label.

2) Теперь необходимо поместить контейнер во вкладку:

self.__tabs.children = [box] self.__tabs.set_title(0, "Главное меню")

Для этого достаточно просто заполнить параметр children, который был оставлен, пустым списком, содержащим первую форму. Методом set_title задается порядок отображения текущей вкладки и ее имя.

3) Напоследок необходимо отобразить систему кладок на экране с помощью

IPython.display.display() display(self.__tabs)

Отображение происходит один раз на все время работы приложения.

Шаг 2. Создание формы просмотра данных из БД

Как я писал выше, в ipywidgets нет способа создать красивое табличное представление без использования сторонних библиотек. Для этих целей обычно используется виджет SelectMultiple, который построчно выводит элементы списка. У виджета нет своей «шапки», поэтому ее придется создать как обычную строку первым элементом списка.

product_list = [«Товар | Количество»]

А сами элементы списка заполняются из Redis. Главное помнить, что каждая строка в виджете – это элемент списка. Сам виджет создается следующим образом:

Дальше аналогично нужно создать контейнер, но способ помещения контейнера в систему вкладок представляет из себя некий «костыль». Как я писал выше, в параметре children хранится кортеж, а кортежи в Python, как и элементы в них – неизменяемы. Поэтому необходимо преобразовать текущий кортеж в список, добавить к нему новый контейнер и снова привести все к кортежу. Также, чтобы данная вкладка не заменяла меню, необходимо установить ей индекс, следующий за индексом формы, который ее вызывает. Если указать меньший, то контейнер на форме с этим индексом перезапишется, а если больший, то приложение выдаст ошибку из-за выхода за границы кортежа и не откроет форму.

self.__tabs.children = tuple(list(self.__tabs.children) + [box]) self.__tabs.set_title(1, "Просмотр товаров")
Шаг 3. Создание формы добавления в БД

Заключительной формой станет форма добавления данных в БД. Она состоит из двух textbox, кнопки и изначально скрытого лейбла.

Textbox представляет из себя объект Text. Параметр description задает текстовый лейбл, который будет располагаться слева от поля. Если текст лейбла обрезается, то в параметре layout можно увеличить ширину виджета:

Таким же способом можно создать textbox и для ввода количества, однако, числовое значение и его имеет смысл защитить от ввода чего-либо, кроме цифр, точки и минуса. Для этого в ipywidgets есть виджет FloatText. Его создание выглядит аналогичным образом:

Стоит отметить, что так же существует виждет IntText, кроторый запрещает ввод чисел с плавающей точкой и виджеты BoundedIntText и BoundedFloatText, которые отличаются от стандартных тем, что позволяют указать допустимый диапазон.

С создание кнопок уже происходило ранее, поэтому последним интересным элементом будет создание изначально скрытого элемента. Каждый виджет содержит параметр layout, который в свою очередь содержит флаг visibility. Для того, чтобы элемент был скрыт, его необходимо указать как hidden. Чтобы показать элемент, нужно указать параметр visible – соответственно.

save_label = widgets.Label(value="Сохранено!") save_label.layout.visibility = "hidden" save_label.layout.visibility = "visible"

Заключение

В данной статье я попытался рассказать о библиотеке ipywidgets как о средстве для создания графических приложений на базе Jupyter Notebook. Эту концепцию я продемонстрировал, создав приложение, которое выполняет две конкретные задачи и обращается к базе данных. Также я постарался рассказать о базовых виджетах, которые содержаться в библиотеке. Но их значительно больше – полный список можно посмотреть по ссылке. Кроме того, библиотека имеет поддержку HTML и CSS, что делает возможности по дизайну практически безграничными и дает возможность переопределять и создавать новые виджеты. В интернете можно найти кастомные виджеты практически на любые задачи, в том числе и красивые табличные представления.

Полный код программы

class App(): def __init__(self): self.__tabs = widgets.Tab(layout=) def run(self): list_btn = widgets.Button(description="Просмотр товаров") list_btn.on_click(self.__list_form) add_btn = widgets.Button(description="Добавление товара") add_btn.on_click(self.__add_form) box = widgets.VBox([ widgets.Label("Выберите пункт меню:"), list_btn, add_btn ]) self.__tabs.children = [box] self.__tabs.set_title(0, "Главное меню") display(self.__tabs) def __list_form(self, *args): pool = redis.ConnectionPool(host='localhost', port=6379, db=0) r = redis.Redis(connection_pool=pool) product_list = ["Товар | Количество"] for key in r.scan_iter(): key = key.decode('utf-8') quantity = r.get(key).decode('utf-8') product_list.append(key+ " |" + quantity) sm = widgets.SelectMultiple(options=product_list) box = widgets.VBox([ widgets.Label("Список товаров:"), sm ]) self.__tabs.children = tuple(list(self.__tabs.children) + [box]) self.__tabs.set_title(1, "Просмотр товаров") def __add_form(self, *args): name_box = widgets.Text(description='Название: ') quantity_box = widgets.FloatText(description='Количество: ') save_btn = widgets.Button(description='Сохранить') def __on_save_btn_click(*args): pool = redis.ConnectionPool(host='docker.for.windows.localhost', port=6379, db=0) r = redis.Redis(connection_pool=pool) r.set(name_box.value, quantity_box.value) save_label.layout.visibility = "visible" save_btn.on_click(__on_save_btn_click) save_label = widgets.Label(value="Сохранено!") save_label.layout.visibility = "hidden" box = widgets.VBox([ widgets.Label("Заполните поля:"), name_box, quantity_box, save_btn, save_label ]) self.__tabs.children = tuple(list(self.__tabs.children) + [box]) self.__tabs.set_title(1, "Добавление товаров")

Настройка Jupyter Notebook с помощью Python 3 в Ubuntu 18.04

Настройка Jupyter Notebook с помощью Python 3 в Ubuntu 18.04

Веб-приложение с открытым исходным кодом, Jupyter Notebook, позволяет создавать и обмениваться интерактивными кодом, визуализациями и многим другим. Этот инструмент можно использовать с несколькими языками программирования, включая Python, Julia, R, Haskell и Ruby. Он часто используется для работы с данными, статистическими моделями и машинным обучением.

Из этого обучающего руководства вы узнаете, как выполнить настройку Jupyter Notebook для запуска на сервере с Ubuntu 18.04, а также научитесь подключаться к блокноту и использовать его. Блокноты Jupyter (или просто блокноты) — это документы, генерируемые приложением Jupyter Notebook, которые содержат компьютерный код и форматированные текстовые элементы (параграф, цитаты, изображения, ссылки и т.д.), которые помогают отображать и делиться воспроизводимые разработки.

К концу этого руководства вы сможете запускать код Python 3 с помощью Jupyter Notebook, запущенном на удаленном сервере.

Предварительные требования

Для прохождения этого обучающего модуля вам потребуется новый экземпляр сервера Ubuntu 18.04 с базовым брандмауэром и пользователем с привилегиями sudo и без привилегий root. Чтобы узнать, как настроить такой сервер, воспользуйтесь нашим руководством по начальной настройке сервера.

Шаг 1 — Настройка Python

Для начала процесса настройки мы установим зависимости, которые нам потребуется для нашей среды программирования Python, из репозиториев Ubuntu. В Ubuntu 18.04 уже предустановлена версия Python 3.6. Для установки дополнительных компонентов мы немного позднее используем диспетчер пакетов Python pip.

Сначала нам нужно обновить локальный индекс пакетов apt , а затем загрузить и установить пакеты:

Затем установите pip и заголовочные файлы Python, которые используются определенными зависимостями Jupyter:

Теперь мы можем перейти к настройке виртуальной среды Python, куда мы будем устанавливать Jupyter.

Шаг 2 — Создание виртуальной среды Python для Jupyter

Теперь, когда у нас есть Python 3, а заголовочные файлы и pip готовы к запуску, мы можем создать виртуальную среду Python для управления нашими проектами. Мы установим Jupyter в эту виртуальную среду.

Для этого нам потребуется доступ к virtualenv , который мы можем установить с помощью pip.

Обновите pip и установите пакет с помощью следующей команды:

Флаг -H гарантирует, что политика безопасности устанавливает переменную среды home в домашнюю директорию пользователя.

После установки virtualenv мы можем начать формирование нашей среды. Создайте каталог для файлов нашего проекта и перейдите в этот каталог. Мы назовем ее my_project_dir , но вы должны использовать имя, которое понятно вам и согласуется с тем, над чем вы работаете.

В директории проекта мы создадим виртуальную среду Python. Для целей данного руководства мы назовем ее my_project_env , но вы должны использовать название, соответствующее вашему проекту.

Эта команда создаст каталог my_project_env в каталоге my_project_dir . В этот каталог будут установлены локальная версия Python и локальная версия pip. Мы можем использовать ее для установки и настройки изолированной среды Python для Jupyter.

Перед созданием Jupyter нам потребуется активировать виртуальную среду. Для этого можно использовать следующую команду:

Командная строка изменится, показывая, что теперь вы работаете в виртуальной среде Python. Она будет выглядеть примерно так: ( my_project_env ) user @ host :~/ my_project_dir $ .

Теперь вы можете выполнить установку Jupyter в эту виртуальную среду.

Шаг 3 — Установка Jupyter

При запущенной виртуальной среде установите Jupyter с помощью локального экземпляра pip.

Примечание: если виртуальная среда активна (когда перед командной строкой стоит ( my_project_env )), необходимо использовать pip вместо pip3 , даже если вы используете Python 3. Копия инструмента в виртуальной среде всегда имеет имя pip вне зависимости от версии Python.

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

Шаг 4 — Запуск Jupyter Notebook

Теперь у вас есть все, что нужно для запуска Jupyter Notebook! Для его запуска воспользуйтесь следующей командой:

Журнал активности Jupyter Notebook будет выведен в командной строке. При запуске Jupyter Notebook будет использоваться порт с конкретным номером. Первый Notebook, который вы будете запускать, обычно использует порт 8888 . Чтобы проверить, какой номер порта использует Jupyter, см. вывод команды, которую вы использовали для запуска:

Output
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir [I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser. [C 21:23:21.361 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

Если вы запускаете Jupyter Notebook на локальном компьютере (а не на сервере), вы можете перейти к отображаемому URL-адресу для подключения к Jupyter Notebook. Если вы запускаете Jupyter Notebook на сервере, вам нужно будет подключаться к серверу с помощью туннеля SSH, как указано в следующем разделе.

В данный момент вы можете сохранить соединение SSH открытым и поддерживать Jupyter Notebook в рабочем состоянии, или закрыть приложение и снова запустить его после настройки туннеля SSH. Давайте завершим процесс Jupyter Notebook. Мы запустим его снова после настройки туннеля SSH. Чтобы остановить процесс Jupyter Notebook, нажмите CTRL+C , введите Y , а затем ENTER для подтверждения. В результате будет отображен следующий вывод:

Output
[C 21:28:28.512 NotebookApp] Shutdown confirmed [I 21:28:28.512 NotebookApp] Shutting down 0 kernels

Теперь мы настроим туннель SSH, чтобы получить доступ к Notebook.

Шаг 5 — Подключение к серверу с помощью туннеля SSH

В этом разделе мы узнаем, как подключиться к веб-интерфейсу Jupyter Notebook с помощью туннеля SSH. Поскольку Jupyter Notebook будет работать на конкретном порту на сервере (например, :8888 , :8889 и т. д.), туннель SSH позволяет безопасно подключаться к порту сервера.

В следующих двух подразделах описано, как создать туннель SSH в (1) Mac или Linux и в (2) Windows. См. подраздел для вашего локального компьютера.

Туннель SSH в Mac или Linux

Если вы используете Mac или Linux, шаги, которые необходимо выполнить для создания туннеля SSH, аналогичны шагам, которые выполняются при входе на удаленный сервер с помощью SSH, за исключением дополнительных параметров в команде ssh . В этом подразделе будут показаны дополнительные параметры, необходимые команде ssh для успешного создания туннеля.

Создание туннелей SSH может быть осуществлено с помощью следующей команды SSH, которую необходимо ввести в новом окне локальной командной строки:

Команда ssh открывает соединение SSH, но -L указывает, что данный порт на локальном хосте (клиент) будет отправляться на заданный хост и порт на удаленном конце (сервер). Это значит, что бы ни было запущено на втором порту (например, 8888 ) на сервере, оно появится на первом порту (например, 8888 ) на локальном компьютере.

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

server_username — это ваше имя пользователя (например, sammy ) на сервере, который вы создали, а your_server_ip — это IP-адрес вашего сервера.

Например, для имени пользователя sammy и адреса сервера 203.0.113.0 , команда будет выглядеть следующим образом:

Если после запуска команды ssh -L не появится ошибок, вы можете перейти в среду программирования и запустить Jupyter Notebook:

Вы получите вывод с URL-адресом. В веб-браузере на локальном компьютере откройте веб-интерфейс Jupyter Notebook с URL-адресом, который начинается с http://localhost:8888 . Убедитесь, что номер маркера включен, либо введите строку с номером маркера при запросе в http://localhost:8888 .

Создание туннелей SSH с использованием Windows и PuTTY

Если вы используете Windows, вы можете создать туннель SSH с помощью Putty.

Введите URL-адрес сервера или IP-адрес в качестве имени хоста, как показано ниже:

Задайте имя хоста для туннеля SSH

Далее нажмите SSH в нижней части левой панели, чтобы расширить меню, а затем нажмите Tunnels (Туннели). Введите локальный номер порта, который вы хотите использовать для доступа к Jupyter на локальном компьютере. Выберите 8000 или выше, чтобы избежать использования портов, которые уже используются другими службами, и задайте назначение localhost: 8888 , где :8888 — номер порта, на котором запущен Jupyter Notebook.

Затем нажмите кнопку Add (Добавить), после чего порты должны появиться в списке Forwarded ports (Перенаправляемые порты):

Список перенаправляемых портов

После этого нажмите кнопку Open (Открыть) для подключения к серверу через SSH и туннель с нужными портами. Перейдите на http://localhost: 8000 (или любой порт на выбор) в веб-браузере для подключения к Jupyter Notebook, запущенному на сервере. Убедитесь, что номер маркера включен, либо введите строку с номером маркера при запросе в http://localhost:8000 .

Шаг 6 — Использование Jupyter Notebook

В этом разделе рассматриваются базовые принципы использования Jupyter Notebook. Если у вас нет запущенного Jupyter Notebook, запустите его с помощью команды jupyter notebook .

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

Чтобы создать новый файл Notebook, выберите New (Новый) > Python 3 в выпадающем меню в верхнем правом углу:

Создайте новый блокнот Python 3

В результате откроется Notebook. Теперь мы можем запустить код Python в ячейке или изменить ячейку на разметку. Например, измените первую ячейку, чтобы она могла принимать разметку, нажмите Cell (Ячейка) > Cell Type (Тип ячейки) > Markdown (Разметка) в верхней панели навигации. Теперь мы можем добавлять записи с помощью разметки и даже включать уравнения, созданные в LaTeX, поместив их между символами $$ . Например, введите в ячейку следующее после ее переключения на разметку:

# First Equation Let us now implement the following equation: $$ y = x^2$$ where $x = 2$ 

Чтобы преобразовать разметку в расширенный текстовый формат, нажмите CTRL + ENTER , и получите следующий результат:

результат разметки

Вы можете использовать ячейки разметки для заметок и документирования программного кода. Давайте реализуем это уравнение и распечатаем результат. Нажмите на верхнюю ячейку, а затем нажмите ALT+ENTER чтобы добавить ячейку ниже. Введите в новую ячейку следующий код.

x = 2 y = x**2 print(y) 

Для запуска кода нажмите CTRL+ENTER . Вы получите следующие результаты:

результаты первого уравнения

Теперь вы можете импортировать модули и использовать Notebook, как и любую другую среду разработки Python!

Заключение

Поздравляем! Теперь вы можете писать воспроизводимый код Python и записи в Markdown с помощью Jupyter Notebook. Для быстрого ознакомления с интерфейсом Jupyter Notebook выберите Help (Справка) > User Interface Tour (Знакомство с пользовательским интерфейсом) в верхнем меню навигации.

Здесь вы можете запустить проект анализа данных и визуализации, ознакомившись со статьей Анализ данных и визуализация с pandas и Jupyter Notebook в Python 3.

Если вы хотите узнать больше, ознакомьтесь с нашей серией статей Визуализация временных рядов и прогнозирование.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Как добавить меню navigate в jupiter

Комментарии

Популярные По порядку
Не удалось загрузить комментарии.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

ТОП-15 книг по Python: от новичка до профессионала

Книги по Python (и связанным с ним специальным темам) на русском языке. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.

DeepFake-туториал: создаем собственный дипфейк в DeepFaceLab

Рассказываем о технологии DeepFake и шаг за шагом учимся делать дипфейки в DeepFaceLab – нейросетевой программе, меняющей лица в видеороликах.

Пишем свою нейросеть: пошаговое руководство

Отличный гайд про нейросеть от теории к практике. Вы узнаете из каких элементов состоит ИНС, как она работает и как ее создать самому.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *