- Руководство по Jupyter Notebook для начинающих
- Настройка Jupyter Notebook
- Основы Jupyter Notebook
- Добавление описания к notebook
- Интерактивная наука о данных
- Повышение продуктивности при работе с Jupyter Notebook за 5 минут
- 0. Основные горячие клавиши
- 1. Перезапуск блокнота
- 2. Прокрутка блокнота
- 3. Отмена удаления ячейки
- 4. Разделение ячеек
- 5. Вывод результатов всех операций
- 6. Пропустить выполнение ячейки
- 7. Переход к ячейке, которая выполняется сейчас
- Русские Блоги
- 27 советов, приемов и сочетаний клавиш Jupyter Notebook
- ◆ ◆ ◆
- ◆ ◆ ◆
- JupyterLab и Jupyter Notebook — мощные инструменты Data Science
- Краткий обзор
- Установка
- conda
- pipenv
- Запуск
- Интерфейс
- Боковая панель
- Основная рабочая область
- Вкладки и режим работы с отдельным документом
- Контекстные меню
- Горячие клавиши
- Работа с файлами
- Текстовый редактор
- Jupyter Notebook
- Магические функции
- Тайминг
- Профилирование
- Логирование
- Дебаггинг
- Общие методы магических функций
- Работа с директориями
- Псевдонимы и замены стандартного использования
- Импорт и экспорт кода
- Переменные среды и пространство имен
- Вывод документации и поиск информации
- Другие
- Выполнение shell-команд
- Запись формул в LaTeX
- Использование разных языков
- Блокноты (ноутбуки) в JupyterLab
- Терминалы
- Управление ядрами и терминалами
- Палитра команд
- Перенаправление кода консоли
- Файлы различных форматов
- Расширения
- Серверы и совместная работа
Руководство по 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.
Источник
Повышение продуктивности при работе с Jupyter Notebook за 5 минут
Для начала повторим основные горячие клавиши. Если вы их ещё не используете — начните обязательно. В долгосрочной перспективе время на изучение окупится многократно.
0. Основные горячие клавиши
1. Перезапуск блокнота
Для рестарта просто нажмите ESC + 00.
2. Прокрутка блокнота
Нажатие Space прокрутит блокнот вниз, а Shift + Space — вверх.
3. Отмена удаления ячейки
Для быстрой отмены удаления ячейки нажмите ESC + Z
4. Разделение ячеек
Начав писать код в одной ячейке, мы постоянно сталкиваемся с необходимостью разделить его по разным ячейкам позже. Вместо ручного создания ячейки и копирования текста, поставьте курсор перед линией, с которой начнётся вторая ячейка, и нажмите Control + Shift + —
5. Вывод результатов всех операций
По умолчанию при выполнении ячейки выводится только результат последней операции.
Чтобы печаталось всё, скопируйте и выполните этот код в вашем блокноте:
Минус такого подхода в том, что иногда выводиться будет чрезмерно много информации. Чтобы этого избежать, добавьте точку с запятой в конце строки, вывод которой вам не нужен.
6. Пропустить выполнение ячейки
Рано или поздно появится ячейка, выполнение которой вы захотите пропустить. Вместо того чтобы закомментировать или удалить код, просто сделайте так:
7. Переход к ячейке, которая выполняется сейчас
Выполните этот код в вашем блокноте, чтобы иметь возможность быстро перемещаться к ячейке, которая выполняется в данный момент, по нажатию Alt + I
Источник
Русские Блоги
27 советов, приемов и сочетаний клавиш Jupyter Notebook
Эта статья основана на статье, которая первоначально появилась в блоге Алекса Рогожникова.
Блокнот Jupyther, также известный как блокнот Ipython в целом, представляет собой гибкий инструмент, который может собирать код, изображения, комментарии, формулы и рисунки в одном месте, обеспечивая тем самым анализ читабельности.
Jupyter очень расширяемый, поддерживает несколько языков программирования и может быть легко установлен на персональный компьютер или любой сервер, если у вас есть доступ по ssh или http. Самое приятное, что это абсолютно бесплатно.
По умолчанию Jupyter Notebook использует ядро Python, поэтому изначально оно называлось IPython Notebook. Блокнот Jupyter является продуктом проекта Jupyter. Название Jupyter является аббревиатурой трех языков, которые он будет обслуживать: Julia, PYThon и R. Это имя гомофонично с «Jupiter». Эта статья познакомит вас с 27 советами и рекомендациями по использованию Jupyter.
◆ ◆ ◆
1. Сочетания клавиш
Специалисты знают, что сочетания клавиш могут сэкономить много времени. Jupyter предоставляет список сочетаний клавиш в верхнем меню: Справка> Сочетания клавиш. Каждый раз, когда вы обновляете Jupyter, обязательно посмотрите этот список, потому что новые ярлыки постоянно добавляются. Другой способ — использовать Cmd + Shift + P (Ctrl + Shift + P в Linux и Windows), чтобы вызвать командную панель. Это диалоговое окно позволяет вам запускать любую команду по имени — особенно полезно, когда вы не знаете, какая быстрая клавиша для операции была или если для этой операции нет какой-либо комбинации клавиш. Эта функция очень похожа на поиск Spotlight на компьютерах Apple, после того как вы начнете использовать его, вы захотите прекратить.
Esc + F Найти и заменить в коде, игнорируя вывод.
Esc + O Переключение между ячейкой и выходным результатом.
Выберите несколько ячеек:
Shift + J или Shift + Down, чтобы выбрать следующую ячейку.
Shift + K или Shift + Up, чтобы выбрать предыдущую ячейку.
После выбора ячейки вы можете удалить / скопировать / вырезать / вставить / запустить в пакетном режиме. Это полезно, когда вам нужно переместить часть ноутбука.
Shift + M объединить ячейки.
◆ ◆ ◆
2. Идеальное отображение переменных
Одна вещь хорошо известна. Поместите имя переменной или оператор, который не определяет результат вывода, в последнюю строку ячейки. Без оператора печати Jupyter также отобразит значение переменной. Это особенно полезно при использовании Pandas DataFrames, поскольку на выходе получается аккуратная таблица.
Малоизвестно, что вы можете изменить опцию ядра ast_note_interactivity, чтобы Jupyter автоматически отображал все переменные или операторы в одной строке, чтобы вы могли сразу увидеть работу нескольких операторов Оказалось.
Источник
JupyterLab и Jupyter Notebook — мощные инструменты Data Science
Подробно рассказываем об инструментах семейства Jupyter – эффективных средствах разработки для задач Data Science и смежных областей.
Краткий обзор
В конце февраля был выпущен релиз JupyterLab – гибкой, интегрируемой и легко расширяемой среды, поддерживающей одновременную работу с несколькими блокнотами Jupyter, текстовыми файлами, датасетами, терминалами и другими компонентами. Аналогично классическим IDE в JupyterLab можно упорядочивать документы в рабочей области в удобном порядке при помощи вкладок и разделителей.
JupyterLab поддерживает отображение и редактирование множества форматов данных: изображений, CSV, JSON, Markdown, PDF, Vega, Vega-Lite и так далее. Для быстрой навигации по документам в JupyterLab есть настраиваемые горячие клавиши, а также возможность использования стандартных сочетаний из vim, emacs и Sublime Text.
JupyterLab может быть дополнен при помощи расширений, позволяющих настроить под себя различные части JupyterLab, включая темы, редакторы файлов и дополнительные компоненты.
Если вы уже знакомы с Jupyter Notebook, то вы очень быстро освоитесь с JupyterLab, которая в существенной мере обогащает возможности классического блокнота Jupyter. Не устанавливая JupyterLab, вы можете ознакомиться с демо-примером на странице Binder – инструменты Jupyter поддерживают запуск на сторонних серверах.
Для этой статьи мы взяли за основу ключевые моменты из документации JupyterLab, а также рассмотрели особенности лежащего в основе этой среды типа данных Jupyter Notebook, чтобы те, кто еще не использовали блокноты Jupyter, оценили их преимущества.
Установка
Среда JupyterLab может быть установлена при помощи conda, pip или pipenv:
conda
Если вы устанавливаете JupyterLab при помощи pip install —user, вам необходимо добавить директорию bin в вашу переменную окружения PATH, чтобы использовать краткий способ запуска JupyterLab.
pipenv
или из репозитория git:
При использовании pipenv для запуска при помощи jupyter lab вам необходимо предварительно активировать виртуальное окружение проекта.
Запуск
Запуск сервера JupyterLab из терминала производится следующей простой командой:
При этом интерфейс JupyterLab автоматически открывается в используемом вами браузере. Также вы можете получить доступ к запущенному серверу, введя в адресную строку браузера соответствующую ссылку (по умолчанию это http://localhost:8888). Вы можете открыть классический интерфейс блокнота Jupyter, выбрав “Launch Classic Notebook” из меню Help, или переключаться между интерфейсами, заменяя окончание строки: /lab для интерфейса JupyterLab или /tree для классического интерфейса.
Интерфейс
JupyterLab обеспечивает гибкий интерфейс с возможностью перемещения блоков и расположения в удобном для вас порядке. В JupyterLab реализовано множество возможностей, к которым вы уже могли привыкнуть при использовании традиционных сред разработки, но с акцентом на интерактивности производимых вычислений.
Интерфейс JupyterLab состоит из основной рабочей области, содержащей вкладки документов и инструментов, скрываемой левой боковой панели и меню.
Меню по умолчанию выглядит следующим образом:
- File: действия, касающиеся файлов и директорий
- Edit: действия, касающиеся редактирования документов и инструментов
- View: действия, изменяющие внешний вид JupyterLab
- Run: действия по запуску кода в различных инструментах
- Kernel: действия над отдельными процессами запущенного кода
- Tabs: список открытых документов и инструментов с возможностью переключения
- Settings: общие настройки и редактор продвинутых настроек
- Help: список ссылок на справочные документы по JupyterLab и ядру
Расширения JupyterLab позволяют создавать дополнительные вкладки в панели меню.
Боковая панель
Боковая панель содержит браузер файлов (Files), список запущенных инструментов (Running), палитру команд (Commands), инспектор инструментов ячеек блокнота (Cells) и списка вкладок (Tabs).
Процесс «схлопывания» боковой панели происходит по клику на открытой вкладке, как это проиллюстрировано в коротком видео ниже.
Использование расширений JupyterLab также позволяет добавлять в боковую панель дополнительные вкладки.
Основная рабочая область
Основная рабочая область позволяет группировать документы (блокноты, текстовые файлы и пр.) и другие инструменты (терминалы, консоли и т. д.) в виде панелей с вкладками, размер и расположение которых можно изменить перетаскиванием.
Вкладки и режим работы с отдельным документом
Вкладка Tabs в боковой панели показывает список открытых документов и инструментов в рабочей области:
Эта же информация доступна на вкладке Tabs в menu:
Часто полезно сфокусироваться на отдельном документе и инструменте без того, чтобы закрывать все остальные вкладки в рабочей области. Для этого в JupyterLab есть режим работы с отдельным документом. Его можно запустить из панели View («Single-Document Mode») или воспользоваться сочетанием горячих клавиш (по умолчанию Ctrl+Shift+Enter).
Контекстные меню
Многие составляющие JupyterLab, такие как блокноты, текстовые файлы, консоли и вкладки, имеют собственные контекстные меню.
Для использования оригинального контекстного меню браузера при вызове контекстного меню зажимайте Shift.
Горячие клавиши
Аналогично классическому Jupyter Notebook, вы можете использовать для навигации и запуска инструментов горячие клавиши, которые можно настроить при помощи Advanced Settings Editor в меню в панели Settings.
Вы также можете настроить текстовый редактор так, чтобы использовать сочетания горячих клавиш из vim, emacs или Sublime Text. Для этого в меню в панели Settings выберите строку Text Editor Key Map.
Работа с файлами
Браузер файлов и меню File позволяют открывать, создавать, удалять, переименовывать, скачивать, копировать и делиться файлами и директориями. Файлы открываются стандартно – двойными кликом в браузере файлов из боковой панели.
Также вы можете перетащить файл в рабочую область, создав таким образом дополнительную вкладку сразу в нужном вам месте.
Для некоторых типов файлов поддерживаются множественные представления. Например, вы можете открыть файл Markdown в текстовом редакторе или в форме HTML-страницы. Расширения JupyterLab позволяют использовать дополнительные методы просмотра/редактирования различных файлов, добавляя в контекстное меню новые строки «Open With. «.
Удобная особенность JupyterLab заключается в том, что разные представления файла синхронизируются между собой. То есть, работая, например, с тем же файлом Markdown в редакторе, вы сразу же видите как он отрисовывается в HTML.
Создавать новые файлы и инструменты можно кликнув на плюс в браузере файлов. Это вызывает новую вкладку с лаунчером в рабочей области, позволяющим выбрать используемый инструмент.
Того же результата можно добиться на вкладке New в меню File.
В качестве текущей рабочей директории используется открытая в браузере файлов, за исключением терминала, для которого всегда открывается домашний каталог.
Новый файл создается с именем по умолчанию. Переименовывается файл из контекстного меню браузера файлов или вкладки, на которой открыт файл.
Файлы также могут быть загружены в текущую директорию переносом их в панель браузера файлов или при помощи кнопки «Upload files» в верхней части браузера файлов.
Текстовый редактор
Текстовый редактор JupyterLab имеет инструмент подсветки синтаксиса, настройки отступов (табы/пробелы) и сочетаний горячих клавиш.
Все редакторы Jupyter поддерживают множественный курсор, аналогично, например, Sublime Text. Таким образом, можно существенно быстрее править однотипные части текста и кода.
Jupyter Notebook
Блокноты Jupyter (также часто в российском сообществе называемые ноутбуками) представляют собой документы, комбинирующие блоки запускаемого кода с текстом в Markdown-разметке, формулами (LaTeX), изображениями, интерактивными визуализациями и другими форматами выходных данных.
Остановимся подробнее на основной особенностях блокнотов Jupyter, сделавших их такими популярными.
Блокноты Jupyter позволяют интерактивно работать с кодом непосредственно в браузере. Блокнот Jupyter состоит из независимо запускаемых ячеек с кодом, которые в результате запуска выполняют содержащийся в ячейке программный код и добавляют в пространство имен соответствующие имена переменных, функций, классов и т. д. Ячейки с кодом можно перемежать ячейками с Markdown-разметкой и, как будет показано далее, ячейками с кодом на различных языках программирования и разметки. Код можно запускать как отдельно для каждой ячейки, так и последовательно от первой ячейки к последней. Вы можете попробовать работу с блокнотами Jupyter на одном из языков Python, Julia или R так же на Binder, независимо от Jupyter Lab и без установки.
Магические функции
Одна из крайне удобных составляющих Jupyter Notebook – это специальные магические функции, облегчающие задачи при добавлении их в начало соответствующих ячеек. Так, например, вставка %matplotlib inline приводит к автоматическому выводу изображений matplotlib непосредственно в вывод ячейки. Примеры других команд представлены ниже, с полным списком магических функций вы можете ознакомиться здесь.
Тайминг
- %time – определяет время выполнения команды
- %timeit – определяет среднее время выполнения команды, многократно повторяя ее
- %%time – определяет время выполнения ячейки
- %%timeit – определяет среднее время выполнения ячейки
Профилирование
- %prun – показывает как много времени подпрограмма тратит в каждой из функций
- %mprun – трэкинг использования памяти
Логирование
- %logstart, %logstop – начало и завершение логирования соответственно
- %logoff, %logon – временная остановка и рестарт логирования
- %logstate – статус логирования
- %history – выводит список введенных команд в хронологическом порядке
Дебаггинг
- %debug – собственный интерфейс для ipdb
- %pdb – управление автоматическим вызовом pdb
Общие методы магических функций
- %lsmagic – список доступных магических функций
- %automagic – включает/выключает возможность вызова магических функций без начального знака процента
- %magic – выводит информацию о магических функциях системы
Работа с директориями
- %pwd – вывод текущей рабочей директории
- %cd – изменить текущую рабочую директорию
- %bookmark – создание закладок к какой-либо директории (по умолчанию – к текущей)
- %dhist – вывод истории посещенных директорий
- %dirs – возвращает текущий стек директорий
Псевдонимы и замены стандартного использования
- %alias alias_name cmd – определяет псевдоним alias_name для системной команды cmd
- %alias_magic – создает псевдоним для магической функции, например, %alias_magic t timeit
- %autocall – делает возможным вызов функций без использования скобок
- %unalias – удаление псевдонима
- %macro – позволяет задать имя для последующего перезапуска или сохранения нескольких ячеек
Импорт и экспорт кода
- %run – выполнение кода из файлов Python и блокнотов Jupyter
- %load – загрузка кода напрямую в ячейку с использованием локального или сетевого файла
- %pastebin – загрузка кода ячейки на Github Gist
- %pfile – печать файла в ячейке
- %psource – вывод программного кода объекта
- %save – запись набора строк или macro в файл с заданным именем
- %%writefile [-a] filename – запись содержимого ячейки в файл filename (опционально -a при добавлении текста в конец файла вместо перезаписи)
Переменные среды и пространство имен
- %env – управление переменными среды без перезапуска сервера
- %reset – очистка пространства имен
- %who – анализ доступных переменных глобального пространства имен
- %who_ls – вывод отсортированного списка доступных переменных
Вывод документации и поиск информации
- %pdoc – печать строки документации объекта
- %pinfo – детализированная информация об объекте (аналог ?object или object?)
- %pinfo2 – еще более развернутая информация об объекте (аналог ??object или object??)
- %psearch – поиск объекта в пространстве имен, в том числе по нестрогим правилам
Другие
- %pprint – включение/выключение pprint
- %precision – задание точности и способа отображения чисел
- %pylab – загрузка numpy и matplotlib для интерактивной работы
Выполнение shell-команд
Блокноты позволяют вызвать любую shell-команду прямо из ячейки. Например, так можно быстро установить недостающую библиотеку:
Запись формул в LaTeX
Markdown ячейки поддерживают отрисовку LaTeX, записываемого стандартным образом при помощи знаков $$.
Использование разных языков
В одном блокноте можно использовать сразу несколько языков программирования. Обозначив это при помощи двух знаков процента в начале ячейки, например, %%python2, %%python3, %%R, %%bash и т. д. Идентичным образом можно получать отрисовку ячеек с кодом в LaTeX, поставив в начале ячейки %%latex. Аналогично служат команды %%html, %%javascript (или %%js), %%markdown, %%ruby, %%sh.
Блокноты (ноутбуки) в JupyterLab
Блокноты Jupyter (.ipynb файлы) полностью поддерживаются в JupyterLab. Формат документов идентичен классическому Jupyter Notebook. Имеющиеся у вас блокноты будут аналогичным образом отображаться в JupyterLab.
Кроме того, вы можете использовать множественные отображения одного ноутбука для удобной работы с различными местами большого документа.
Для удобства работы вы можете временно скрывать и отображать большие куски вывода данных при помощи соответствующей кнопки слева от каждой ячейки.
Альтернативный вариант просмотра – использование скроллинга или вывода результатов ячейки в отдельную вкладку.
Автодополнения по клавише Tab в сравнении с Jupyter Notebook включают дополнительную информацию о типах соответствующих объектов.
Подсказки, активируемые при помощи Shift Tab содержат дополнительную информацию об объектах.
Вы также можете подключить консоль, чтобы вести лог сделанных вычислений в том порядке, в каком они были сделаны в блокноте. Консоль можно использовать как место для интерактивной проверки различных небольших идей без изменения блокнота. Для этого из консольного меню блокнота выберите «Create Console for Notebook».
Терминалы
Терминалы JupyterLab обеспечивают полную поддержку для системных оболочек (bash, tcsh и т. д.) на Mac/Linux и PowerShell на Windows. Через терминал вы можете запустить практически любую программу, включая vim или emacs.
Управление ядрами и терминалами
Вкладка Running в боковой панели показывает список всех ядер и терминалов, запущенных в данный момент.
Как и в классическом Jupyter Notebook, когда вы закрываете вкладку документа, консоли или терминала, соответствующее ядро или терминал продолжают работу на сервере, и у вас остается возможность подключиться к ним позже. Вкладка Running позволяет вам заново открыть соответствующий инструмент или выключить его.
Палитра команд
Все пользовательские действия в JupyterLab обрабатываются при помощи централизованной командной системы. Эти команды являются общими и используются совместно во всех элементах JupyterLab. Палитра команд в боковой панели предоставляет способ для их быстрого поиска и запуска.
Перенаправление кода консоли
В архитектуре Jupyter ядра представляют собой отдельные процессы, запускаемые сервером, которые работают с определенным кодом при помощи соответствующего языка и окружения. JupyterLab позволяет запускать код из любого открытого текстового документа, вызвав из контекстного меню команду «Create Console for Editor». Наиболее частым примером такой необходимости служат вкрапления кода, включенные в Markdown-разметку, которые можно запустить в консоли еще более просто по горячей клавише Shift Enter.
Файлы различных форматов
В архитектуре JupyterLab существенное внимание уделено отображению и редактированию данных в самых разных форматах – и загружаемым в качестве входных данных, и выгружаемым на выходе. Формат файлов автоматически определяется по расширению файла или его имени при отсутствии расширения. Как было упомянуто выше, файлы могут открываться в нескольких представлениях, например, в редакторе и средстве просмотра.
Для того, чтобы использовать эти различные форматы данных в качестве выходных данных в блокноте или консоли вы можете использовать соответствующий API для отображения, например, запуск следующего кода
приведет к отображению соответствующего HTML-коду блока.
Кратко опишем какие еще форматы в текущий момент поддерживаются (соответствующие видеоиллюстрации можно посмотреть на странице документации):
-
- Markdown. При этом работает в том же духе, что и внутри ячеек, то есть, в частности отображаются формулы, записанные в LaTeX.
- Изображения. Поддерживаемые форматы: .bmp, .gif, .jpeg, .jpg, .png, .svg. Можно использовать плюс и минус, чтобы производить зум изображения, [ и ] для поворота изображения, H и V для горизонтального и вертикального отражения, I – для инвертирования цветов. Для svg изображений есть также соответствующий редактор.
- Файлы с разделением столбцов разделителями. То есть .csv файлы (и .tsv при изменении расширения). Также имеется и средство просмотра с возможностью выбора разделителя, и редактора. JupyterLab в зависимости от ограничения используемого браузера умеет открывать работать через эти интерфейсы с довольно большими файлами, для Chrome это порядка 730 Мб.
- JSON-файлы. Отображает данные в виде соответствующей древовидной структуры, также есть возможность редактирования.
- HTML, LaTeX, PDF, Vega/Vega-Lite, Virtual DOM.
Расширения
Архитектура JupyterLab построена с возможностью дальнейшего расширения среды. Расширения позволяют добавлять новые темы, средства просмотра других файлов или отрисовки других форматов внутри блокнотов, добавляют дополнительные вкладки в меню и команды в Command Pallete, создают возможности дополнительной настройки системы.
Расширения JupyterLab представляют собой npm-пакеты (стандартные пакеты для JavaScript-разработки). Многие из них разработаны самим сообществом на GitHub, соответственно вы можете найти их в этом топике. Также вам могут быть интересны старые решения для расширения магических функций.
Основной способ для включения расширений выглядит следующим образом:
где my-extension – имя того расширения, что вы хотите установить. Можно использовать как расширения, находящиеся среди пакетов в npm, так и созданные вами. Дополнительно об этом читайте на странице документации.
Среди интересных расширений стоит обратить внимание, в частности, на расширение RISE, позволяющее показывать блокнот Jupyter в виде презентации (интересный пример).
Серверы и совместная работа
Сервис mybinder предоставляют доступ к Jupiter Notebook и JupyterLab со всеми установленными библиотеками, так что пользователь может изучать и запускать созданный вами проект, имея под рукой только браузер.
Вы также можете создать свою собственную систему с помощью JupyterHub, который, в частности, позволяет совместно работать нескольким пользователям с одним и тем же блокнотом, аналогично Google-документам, то есть один пользователь видит в процессе, какие изменения вносятся остальными.
В качестве примера использования JupyterHub как преднастроенной среды для совместной работы множества пользователей посмотрите видео о применении этого инструмента в аналитике Яндекса.
Источник