Блокнот Jupyter: Введение

Оглавление

Jupyter Notebook - это веб-приложение с открытым исходным кодом, которое можно использовать для создания и обмена документами, содержащими живой код, уравнения, визуализации и текст. Jupyter Notebook поддерживается программистами из Project Jupyter.

Jupyter является преемником более раннего проекта IPython Notebook. Название Jupyter происходит от основных поддерживаемых языков программирования, которые он поддерживает: Julia, Python и R. Jupyter снабжаемые ядром IPython, которое позволяет вам писать свои программы на Python. В настоящий момент, существует более 100 других ядер, которые вы можете использовать.

Начало работы с Jupyter Notebook
Jupyter Notebook изначально не входит в состав Python, поэтому Вам потребуется установка Jupyter.

Существует множество дистрибутивов языка Python, но особое внимание мы уделим только 2 основным. Самым популярным из них является CPython - это базовая версия Python, которую вы можете найти на их веб-сайте. Рекомендуем использовать Python 3.

Установка

Чтобы начать работать с Jupyter Notebook, библиотеку Jupyter необходимо установить для Python. Проще всего это сделать с помощью pip:

$ pip install jupyter

Следующим по популярности дистрибутивом Python является Anaconda . У Anaconda есть собственный установщик под названием conda, который вы можете использовать для установки стороннего пакета. Однако Anaconda установлена со многими предустановленными научными библиотеками, включая Jupyter Notebook, поэтому вам не нужно ничего делать, кроме установки самой Anaconda.

Запуск Jupyter Notebook Server

Теперь, когда у вас установлен Jupyter, давайте узнаем, как его использовать. Для начала все, что вам нужно сделать, это открыть приложение и перейти в папку по вашему выбору. Для начала, рекомендуем использовать что-то вроде папки «Documents» и создать в ней подпапку под названием « Notebooks» или что-то еще, что легко запомнить.

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

$ jupyter notebook

Это запустит сервер Jupyter, а браузер откроет новую вкладку со следующим URL: http: // localhost: 8888 / tree

Теперь ваш браузер должен выглядеть примерно так:
Отлично! Обратите внимание, что прямо сейчас вы фактически не используете Notebook, а просто запускаете сервер Notebook.  Теперь пришло время создать первый notebook и заполнять его кодом.

Создание записной книжки

Теперь, когда вы знаете, как запустить сервер Notebook, вам, вероятно, следует научиться создавать настоящий документ Notebook.

Для создания notebook выберите «New» в верхнем меню, а потом «Python 3». Теперь страница в браузере будет выглядеть вот так:

Название вашего Notebook

Вы заметите, что вверху страницы есть слово Untitled . Это заголовок страницы и имя вашей записной книжки. Его лучше поменять на что-то более понятное. Просто наведите мышью и кликните по тексту. Теперь можно выбрать новое название:
Привет, мир в Jupyter

Вывод кода

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

Перед первой строкой написано In []. Это ключевое слово значит, что дальше будет ввод. Попробуйте написать простое выражение вывода. Не забывайте, что нужно пользоваться синтаксисом Python 3. После этого нажмите «Run». Если вы предпочитаете использовать клавиатуру, вы можете просто нажать Shift+Enter .

Попробуем добавить в эту ячейку следующий код:

print('Hello Jupyter!')

При запуске кода, результат должен выглядеть таким образом:
Запуск Jupyter Notebook Cell

Вывод должен отобразиться прямо в notebook. Это и позволяет заниматься программированием в интерактивном формате, имея возможность отслеживать вывод каждого шага.
Также обратите внимание на то, что In [] изменится и вместо нее станет  In [1]. Число в скобках означает порядок, в котором эта ячейка будет запущена. В первой цифра 2, потому что она была второй запущенной ячейкой. Каждую ячейку можно запускать индивидуально и цифры в скобках будут менять соответственно.
Если есть несколько ячеек, то между ними можно делиться переменными и импортами. Это позволяет проще разбивать весь код на связанные блоки, не создавая переменную каждый раз. Главное убедиться в запуске ячеек в правильном порядке, чтобы переменные не использовались до того, как были созданы.

Меню

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

    • File
    • Insert 
    • Cell 
    • Kernel 
    • Widgets 
    • Help 
    • Edit
    • View

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

Первое меню - это меню «Файл». В нем вы можете создать новый блокнот или открыть уже существующий. Здесь также можно переименовать Блокнот. Думаю, самый интересный пункт меню - это опция « Сохранить и проверить» . Это позволяет вам создавать контрольные точки, к которым вы можете откатиться, если вам нужно.

Далее идет меню « Правка» . Здесь вы можете вырезать, копировать и вставлять ячейки. Это также то место, куда вы должны пойти, если хотите удалить, разделить или объединить ячейку. Вы также можете изменить порядок ячеек здесь.

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

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

Меню « Вставка» предназначено только для вставки ячеек выше или ниже текущей выбранной ячейки.

Меню « Ячейка» позволяет запускать одну ячейку, группу ячеек или все ячейки. Отсюда можно запускать ячейки в определенном порядке или менять их тип. Другая удобная функция в этом меню - это возможность очистить вывод ячейки.

Jupyter Notebook использует Ядро с привязкой к языкам, компьютерную программу, которая запускает и проводит внутренний анализ кода.

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

Widgets меню для сохранения и очистки состояния виджета. Виджеты - это в основном виджеты JavaScript, которые вы можете добавлять в свои ячейки для создания динамического содержимого с помощью Python (или другого ядра).

Наконец, у вас есть меню « Справка» , в котором вы можете узнать о сочетаниях клавиш Notebook, ознакомиться с пользовательским интерфейсом и множеством справочных материалов.

Пусковые терминалы и прочее

Jupyter Notebook также позволяет запускать больше, чем просто записные книжки. Вы также можете создать текстовый файл, папку или Терминал в своем браузере. Вернитесь на домашнюю страницу, которая открылась при первом запуске сервера Jupyter в http://localhost:8888/tree. Перейдите к кнопке New и выберите один из других вариантов.

Терминал, вероятно, является наиболее интересным из всех, поскольку он запускает терминал вашей операционной системы в браузере. Это позволяет запускать в браузере bash, Powershell и т. д. И запускать там любую команду, которая может вам понадобиться.

Просмотр того, что работает

Также на домашней странице вашего сервера Jupyter ( http://localhost:8888/tree) есть две другие вкладки: Запуск и Кластеры .

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

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

Добавление описания к notebook

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

Типы ячеек

Технически существует четыре типа ячеек: Code, Markdown, Raw NBConvert и Heading.

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

Тип ячеек Raw NBConvert предназначен только для особых случаев использования nbconvertинструмента командной строки. По сути, он позволяет вам управлять форматированием очень специфичным образом при преобразовании из записной книжки в другой формат.

Основные типы ячеек, которые вы будете использовать, - это типы ячеек Code и Markdown.

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

Стилизация вашего текста

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

Установите для новой ячейки значение Markdown, а затем добавьте в ячейку следующий текст:

Когда вы запустите ячейку, результат должен выглядеть так:

Если вы предпочитаете выделять текст жирным шрифтом, используйте двойное подчеркивание или двойную звездочку.

Заголовки

Создавать заголовки с помощью Markdown довольно просто.

Первым делом нужно поменять тип ячейки. Нажмите на выпадающее меню с текстом «Code» и выберите «Markdown». Это поменяет тип ячейки.

Попробуем несколько вариантов. Заголовки можно создавать с помощью символа #. Один такой символ создаст самый крупный заголовок верхнего уровня. Чем больше #, тем меньше будет текст.

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

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

Создание списков

Вы можете создать список (маркеры), используя тире, знаки плюса или звездочки. Вот пример:

Списки уценки в блокнотах Jupyter

Подсветка кода и синтаксиса

Если вы хотите вставить пример кода, который не подразумевает дальнейший запуск пользователем,  вы можете использовать Markdown, чтобы вставить его. Для выделения встроенного кода просто заключите код в обратные кавычки. Если вы хотите вставить блок кода, вы можете использовать тройные обратные кавычки, а также указать язык программирования:

Выделение синтаксиса кода

Экспорт записных книжек

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

  • HTML
  • LaTeX
  • PDF
  • RevealJS
  • Markdown
  • ReStructured Text
  • Executable script

nbconvert проект программного обеспечения с открытым исходным кодом, который поставляется в комплекте санаконда, Процитироватьnbconvert docs, это позволяет: презентация информации в знакомых форматах, таких как PDF.

Jinja - это язык шаблонов (или шаблонизатор), созданный для Python. Следует обратить внимание, что возможность экспорта во все вышеперечисленные форматы nbconvertтакже зависит от Pandoc и TeX. Если у вас нет ни одного из них, некоторые типы экспорта могут не работать.

Как использовать nbconvert

У nbconvertкоманды не так много параметров, что упрощает обучение ее использованию. Откройте терминал и перейдите в папку, содержащую записную книжку, которую вы хотите преобразовать. Основная команда преобразования выглядит так:

$ jupyter nbconvert <input notebook> --to <output format>

Пример использования

Представим, что у вас есть записная книжка с именем py_examples.ipynbи вы хотите преобразовать ее в PDF. Вот команда, которую вы бы использовали для этого:

$ jupyter nbconvert py_examples.ipynb --to pdf

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

nbconvertбудет отображать предупреждения и ошибки, если они есть. Предполагая, что все идет по плану, теперь у вас будет py_examples.pdfфайл в вашей папке.

Процесс преобразования для других типов файлов очень похож. Вам просто нужно указать, в nbconvertкакой тип конвертировать (PDF, Markdown, HTML и т.д).

Использование меню

Вы также можете экспортировать текущий запущенный Блокнот, перейдя в меню « Файл» и выбрав « Загрузить как» .

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

Расширения для Notebook

В этом разделе мы разберемся с расширениями Notebook.

Хотя в Jupyter Notebooks встроено множество функций, несмотря на это, вы можете добавлять новые, с помощью расширений. На самом деле Jupyter поддерживает четыре типа расширений:

  • Kernel
  • IPython kernel
  • Notebook
  • Notebook server

Что такое расширения?

Расширение Notebook ( nbextension). С помощью nbconvert вы можете легко превратить ваш Jupyter в скрипт Python из командной строки. Это также позволяет вам превратить вашу записную книжку Jupyter в удобные для обмена форматы, такие как файлы .html и .pdf.

Где я могу найти расширения?

Вы можете использовать Google или искать расширения Jupyter Notebook. На самом деле их довольно много. Один из самых популярных наборов расширений называется jupyter_contrib_nbextensions , который вы можете получить на GitHub . На самом деле, это набор расширений, предоставляемых сообществом Jupyter и устанавливаемых с помощью pip.

Как их установить?

Большинство расширений Jupyter Notebook можно установить с помощью pipинструмента Python . Если вы обнаружите расширение, которое не может быть установлено pip, вам, вероятно, придется использовать следующую команду:

$ jupyter nbextension install EXTENSION_NAME

Это только установит расширение, но не сделает его активным. Вам нужно будет включить расширение после его установки, выполнив следующее:

$ jupyter nbextension enable EXTENSION_NAME

Возможно, вам потребуется перезапустить ядро ​​Jupyter Notebook, чтобы увидеть расширение.

Есть хорошее мета-расширение под названием Jupyter NbExtensions Configurator , которое стоит приобрести для управления другими расширениями. Он позволяет вам включать и отключать ваши расширения из пользовательского интерфейса Jupyter Notebook, а также показывает все установленные в настоящее время расширения.

Заключение

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

Вы можете превратить свой Notebook в слайд-шоу или поделиться им в Интернете с помощью GitHub.

У Google и Microsoft есть собственная версия Notebook, которую вы можете использовать для создания и совместного использования Notebook в Google Colaboratory и Microsoft Azure Notebooks соответственно. На этих платформах вы также сможете найти что-то интересное для себя.

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

Текст переведен. С оригиналом статьи вы можете ознакомиться по ссылкеhttps://realpython.com/jupyter-notebook-introduction/

One thought on “Блокнот Jupyter: Введение

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

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