Учебники

Jupyter — Краткое руководство

IPython — Введение

Project Jupyter — это набор программных продуктов, используемых в интерактивных вычислениях. IPython был первоначально разработан Фернандо Пересом в 2001 году как расширенный интерпретатор Python. В 2011 году был представлен веб-интерфейс для терминала IPython в виде записной книжки IPython. В 2014 году Project Jupyter был запущен как дополнительный проект от IPython.

Пакеты по проекту Jupyter включают в себя —

  • Блокнот Jupyter — веб-интерфейс для программирования Python, Julia, R и многих других

  • QtConsole — Терминал на основе Qt для ядер Jupyter, аналогичный IPython

  • nbviewer — средство для обмена записными книжками Jupyter

  • JupyterLab — современный веб-интегрированный интерфейс для всех продуктов.

Блокнот Jupyter — веб-интерфейс для программирования Python, Julia, R и многих других

QtConsole — Терминал на основе Qt для ядер Jupyter, аналогичный IPython

nbviewer — средство для обмена записными книжками Jupyter

JupyterLab — современный веб-интегрированный интерфейс для всех продуктов.

Стандартный дистрибутив Python поставляется со средой REPL (Read-Evaluate-Print Loop) в форме оболочки Python с приглашением >>> . IPython (расшифровывается как Interactive Python) представляет собой расширенную интерактивную среду для Python со многими функциональными возможностями по сравнению со стандартной оболочкой Python.

Особенности IPython

IPython предлагает больше возможностей по сравнению со стандартным Python. Они заключаются в следующем —

  • Предлагает мощную интерактивную оболочку Python.

  • Выступает в качестве основного ядра для ноутбука Jupyter и других инструментов интерфейса Project Jupyter.

  • Обладает способностью самоанализа объекта. Самоанализ — это способность проверять свойства объекта во время выполнения.

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

  • Хранит историю взаимодействий.

  • Заполнение вкладок ключевых слов, переменных и имен функций.

  • Магическая система команд полезна для управления средой Python и выполнения задач ОС.

  • Возможность встраивания в другие программы Python.

  • Предоставляет доступ к отладчику Python.

Предлагает мощную интерактивную оболочку Python.

Выступает в качестве основного ядра для ноутбука Jupyter и других инструментов интерфейса Project Jupyter.

Обладает способностью самоанализа объекта. Самоанализ — это способность проверять свойства объекта во время выполнения.

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

Хранит историю взаимодействий.

Заполнение вкладок ключевых слов, переменных и имен функций.

Магическая система команд полезна для управления средой Python и выполнения задач ОС.

Возможность встраивания в другие программы Python.

Предоставляет доступ к отладчику Python.

История и развитие

Первоначально IPython был разработан Фернандо Пересом в 2001 году. Текущая версия IPython7.0.1, для которой требуется версия Python 3.4 или выше. IPython 6.0 был первой версией, поддерживающей Python 3. Пользователи, имеющие Python 2.7, должны работать с версиями IPython 2.0 до 5.7.

Концепция вычислительных ноутбуков началась в 80-х годах, когда были выпущены MATLAB и Mathematica. Эти интерфейсы GUI для интерактивной оболочки имели такие функции, как форматирование текста, добавление графики, таблицы и добавление математических символов. Sage notebook — это веб-блокнот.

Создатели IPython начали работать над интерфейсом ноутбука для оболочки IPython в 2005 году. В ноутбуке IPython вскоре добавилась поддержка других языков, таких как R и Julia. В 2014 году Перес запустил проект Jupyter как побочный проект от IPython, поскольку проект IPython становился все более масштабным с такими продуктами, как сервер ноутбуков и консоль Qt.

Начиная с IPython 4.0, все дополнительные компоненты были перенесены в Project Jupyter и добавлена ​​поддержка других языков в блокнот IPython. IPython продолжает фокусироваться на улучшении своей расширенной функции интерпретатора. Он также предоставляет основное ядро ​​для интерфейса ноутбука Jupyter.

IPython — Установка

IPython по умолчанию включен в дистрибутив Python для Anaconda. Его можно загрузить со страницы загрузки Anaconda www.anaconda.com/download/. Двоичные файлы для всех основных ОС (Windows, MacOS и Linux) и архитектуры (32-разрядных и 64-разрядных) доступны по этой ссылке.

Чтобы установить IPython отдельно в стандартной установке Python, вы можете использовать команду pip, как показано ниже:

pip3 install ipython

IPython внутренне использует следующие пакеты —

Sr.No. IPython зависимости и функциональность
1

Colorama

Кроссплатформенный API для печати цветного терминального текста из Python

2

джедай

Инструмент автозаполнения для Python

3

pickleshare

Небольшая «полка», похожая на хранилище данных с поддержкой параллелизма

4

prompt_toolkit

Библиотека для создания мощных интерактивных командных строк в Python

5

pygments

Пакет с подсветкой синтаксиса, написанный на Python

6

simplegeneric

Простые общие функции

7

traitlets

Система настройки для приложений Python.

Colorama

Кроссплатформенный API для печати цветного терминального текста из Python

джедай

Инструмент автозаполнения для Python

pickleshare

Небольшая «полка», похожая на хранилище данных с поддержкой параллелизма

prompt_toolkit

Библиотека для создания мощных интерактивных командных строк в Python

pygments

Пакет с подсветкой синтаксиса, написанный на Python

simplegeneric

Простые общие функции

traitlets

Система настройки для приложений Python.

В общем, все зависимости устанавливаются автоматически. Иначе, вы можете установить их индивидуально, используя pip.

IPython — Начало работы

В этой главе объясняется, как начать работу с IPython.

Запуск IPython из командной строки.

Прежде чем углубленно разбираться в IPython, обратите внимание, что вместо обычного >>> вы увидите две основные подсказки Python, как описано ниже:

  • В [1] появляется перед любым входным выражением.

  • Выход [1] появляется до появления выхода.

В [1] появляется перед любым входным выражением.

Выход [1] появляется до появления выхода.

Кроме того, числа в квадратных скобках увеличиваются автоматически. Посмотрите на следующий скриншот для лучшего понимания —

Командная строка IPython

Теперь, если вы установили дистрибутив Python для Anaconda, откройте приглашение Anaconda из меню «Пуск».

Анаконда подскажите

Запустите IPython из командной строки

По сравнению с обычной консолью Python, мы можем заметить разницу. Оболочка IPython показывает подсветку синтаксиса, используя разные цветовые схемы для разных элементов, таких как выражение, функция, переменная и т. Д.

Оболочка IPython

Еще одно полезное улучшение — завершение табуляции. Мы знаем, что у каждого объекта есть один или несколько доступных методов, как определено в его классе. IPython выскакивает соответствующий список методов, когда вы нажимаете клавишу табуляции после точки перед объектом.

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

Методы класса String

IPython предоставляет информацию о любом объекте, поставив ‘?’ перед ней. Он включает в себя строку документации, определения функций и детали конструктора класса. Например, чтобы изучить строковый объект var, определенный выше, введите в командной строке var? , Результат покажет всю информацию об этом. Посмотрите на скриншот, приведенный ниже для лучшего понимания —

IPython Info

Волшебные Функции

Встроенные магические функции IPython являются чрезвычайно мощными. Есть два типа магических функций.

  • Магические линии , которые очень похожи на команды DOS.
  • Клеточная магия , которая работает на нескольких строках кода.

Мы узнаем о магических функциях линий и магических функциях клеток в следующих главах.

IPython — запуск и редактирование скрипта Python

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

Команда запуска

Вы можете использовать команду run в командной строке для запуска скрипта Python. Команда run на самом деле является командой line magic и должна быть записана как % run . Однако режим % automagic всегда включен по умолчанию, поэтому вы можете его пропустить.

In [1]: run hello.py
Hello IPython

Редактировать команду

IPython также предоставляет команду edit magic. Он вызывает редактор по умолчанию операционной системы. Вы можете открыть его через редактор Windows Notepad, и скрипт можно редактировать. После того, как вы закроете его после сохранения ввода, будет отображен вывод измененного скрипта.

In [2]: edit hello.py
Editing... done. Executing edited code...
Hello IPython
welcome to interactive computing

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

In [7]: edit
IPython will make a temporary file named:
C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py
Editing... done. Executing edited code...
magic of IPython
Out[7]: 'print ("magic of IPython")'

IPython — Команда истории

IPython сохраняет как команды, так и их результаты текущего сеанса. Мы можем прокручивать предыдущие команды, нажимая клавиши вверх и вниз.

Кроме того, последние три объекта вывода хранятся в специальных переменных _, __ и ___. Команда history magic показывает предыдущие команды в текущем сеансе, как показано на приведенном ниже снимке экрана —

Команда истории

IPython — системные команды

Если оператор во входной ячейке начинается с восклицательного символа (!), Он рассматривается как системная команда для базовой операционной системы. Например ,! Ls (для linux) и ! Dir (для windows) отображают содержимое текущего каталога

Команда восклицательного знака (!)

Вывод системной команды также может быть назначен переменной Python, как показано ниже —

Вывод системной команды

Переменная хранит вывод без цветов и разделяется на символы новой строки.

Также можно комбинировать переменные или выражения Python с системными вызовами команд. Переменная в фигурных скобках {} может быть встроена в текст команды. Посмотрите на следующий пример —

Системные вызовы команд

Вот еще один пример, чтобы понять, что префикс переменной Python с $ также достигает того же результата.

Префиксная переменная Python

IPython — параметры командной строки

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

Вызов программы IPython

Вы можете вызвать программу IPython, используя следующие параметры:

C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]

Опция file представляет собой скрипт Python с расширением .py. Если никакая другая опция не указана, сценарий выполняется, и командная строка появляется снова.

C:\python36>ipython hello.py
Hello IPython
welcome to interactive computing

Подкоманды и параметры

Команда IPython принимает следующие параметры подкоманды —

  • Профиль — Создание и управление профилями IPython.

  • Ядро — Запустите ядро ​​без подключенного интерфейса.

  • Найти — распечатать путь к каталогу IPython.

  • История — Управление базой данных истории IPython.

Профиль — Создание и управление профилями IPython.

Ядро — Запустите ядро ​​без подключенного интерфейса.

Найти — распечатать путь к каталогу IPython.

История — Управление базой данных истории IPython.

Подкоманда профиля IPython принимает следующие параметры:

  • ipython profile create myprofile — Создает новый профиль.

  • Список профилей ipythonсписок всех доступных профилей.

  • ipython locate profile myprofile — Находит нужный профиль.

ipython profile create myprofile — Создает новый профиль.

Список профилей ipythonсписок всех доступных профилей.

ipython locate profile myprofile — Находит нужный профиль.

Чтобы установить новое ядро ​​IPython, используйте следующую команду —

Ipython kernel –install –name

Чтобы напечатать путь к каталогу IPython, используйте следующую команду —

C:\python36>ipython locate myprofile
C:\Users\acer\.ipython

Кроме того, мы знаем, что —

  • Подкоманда history управляет базой данных истории IPython.

  • Опция trim сокращает базу данных истории IPython до 1000 последних записей.

  • Опция очистки удаляет все записи.

Подкоманда history управляет базой данных истории IPython.

Опция trim сокращает базу данных истории IPython до 1000 последних записей.

Опция очистки удаляет все записи.

Некоторые из других важных параметров командной строки IPython перечислены ниже —

Sr.No. IPython Команда и описание
1

—automagic

Включите автоматический вызов магических команд.

2

—pdb

Включите автоматический вызов отладчика pdb после каждого исключения.

3

—pylab

Предварительно загрузите matplotlib и numpy для интерактивного использования с бэкэндом matplotlib по умолчанию.

4

—matplotlib

Сконфигурируйте matplotlib для интерактивного использования с бэкэндом matplotlib по умолчанию.

5

—gui = опции

Включите интеграцию цикла событий GUI с любым из (‘glut’, ‘gtk’, ‘gtk2’, ‘gtk3’, ‘osx’, ‘pyglet’, ‘qt’, ‘qt4’, ‘qt5’, ‘tk’, ‘ wx ‘,’ gtk2 ‘,’ qt4 ‘).

—automagic

Включите автоматический вызов магических команд.

—pdb

Включите автоматический вызов отладчика pdb после каждого исключения.

—pylab

Предварительно загрузите matplotlib и numpy для интерактивного использования с бэкэндом matplotlib по умолчанию.

—matplotlib

Сконфигурируйте matplotlib для интерактивного использования с бэкэндом matplotlib по умолчанию.

—gui = опции

Включите интеграцию цикла событий GUI с любым из (‘glut’, ‘gtk’, ‘gtk2’, ‘gtk3’, ‘osx’, ‘pyglet’, ‘qt’, ‘qt4’, ‘qt5’, ‘tk’, ‘ wx ‘,’ gtk2 ‘,’ qt4 ‘).

Пример использования некоторых параметров командной строки IPython показан в следующей таблице:

Sr.No. IPython Команда и описание
1

ipython —matplotlib

включить интеграцию с matplotlib

2

ipython —matplotlib = qt

включить интеграцию matplotlib с бэкэндом qt4

3

ipython —profile = myprofile

начать с профиля foo

4

ipython профиль создать myprofile

создать профиль foo с файлами конфигурации по умолчанию

5

профиль помощи ipython

показать справку по профилю subcmd

6

Ipython найти

выведите путь к каталогу IPython

7

ipython найти профиль myprofile

выведите путь к каталогу для профиля `myprofile`

ipython —matplotlib

включить интеграцию с matplotlib

ipython —matplotlib = qt

включить интеграцию matplotlib с бэкэндом qt4

ipython —profile = myprofile

начать с профиля foo

ipython профиль создать myprofile

создать профиль foo с файлами конфигурации по умолчанию

профиль помощи ipython

показать справку по профилю subcmd

Ipython найти

выведите путь к каталогу IPython

ipython найти профиль myprofile

выведите путь к каталогу для профиля `myprofile`

IPython — Самоанализ динамического объекта

У IPython есть разные способы динамического получения информации об объектах Python. В этой главе мы изучим способы динамического самоанализа объектов в IPython.

Использование ? и ?? предоставляет конкретную и более подробную информацию об объекте. В первом примере, рассмотренном ниже, создается простой целочисленный объект a. Его информацию можно получить, набрав? во входной ячейке.

Самоанализ динамического объекта в IPython

Во втором примере давайте определим функцию и проанализируем этот объект функции с помощью ? и ?? ,

Функция и Самоанализ

Обратите внимание, что магическая функция % psearch эквивалентна использованию ? или ?? для получения информации об объекте.

IPython — IO Caching

Ячейки ввода и вывода на консоли IPython нумеруются постепенно. В этой главе давайте подробно рассмотрим кэширование ввода-вывода в Python.

В IPython входные данные извлекаются с помощью клавиши со стрелкой вверх. Кроме того, все предыдущие входы сохраняются и могут быть восстановлены. Переменные _i , __i и ___i всегда хранят три предыдущие входные записи. Кроме того, переменные In и _in предоставляют списки всех входных данных. Очевидно, _in [n] получает входные данные из n-й входной ячейки. Следующий сеанс IPython поможет вам понять это явление —

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 2

In [5]: pow(x,y)
Out[5]: 100

In [6]: _iii, _ii, _i
Out[6]: ('x = 10', 'y = 2', 'pow(x,y)')

In [7]: In
Out[7]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In'
]
   
In [8]: In[5] 9. IPython  IO
Out[8]: 'pow(x,y)'

In [9]: _ih
Out[9]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In',
   'In[5]',
   '_ih'
]
   
In [11]: _ih[4]
Out[11]: 'y = 2'

In [12]: In[1:4]
Out[12]: ['print ("Hello")', '2+2', 'x=10']

Точно так же одинарные, двойные и тройные подчеркивания действуют как переменные для хранения предыдущих трех выходных данных. Также Out и _oh образуют объект словаря с номером ячейки и выводом ячеек, выполняющих действие (не включая операторы присваивания). Чтобы получить содержимое определенной выходной ячейки, используйте Out [n] или _oh [n] . Вы также можете использовать нарезку, чтобы получить выходные ячейки в пределах диапазона.

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 3

In [5]: pow(x,y)
Out[5]: 1000

In [6]: ___, __, _
Out[6]: ('', 4, 1000)

In [7]: Out
Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [8]: _oh
Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [9]: _5
Out[9]: 1000

In [10]: Out[6]
Out[10]: ('', 4, 1000)

Установка IPython в качестве среды Python по умолчанию

Различные переменные окружения влияют на поведение Python. Переменная среды PYTHONSTARTUP присваивается сценарию Python. Как следствие, этот скрипт выполняется до появления приглашения Python. Это полезно, если определенные модули должны загружаться по умолчанию каждый раз, когда начинается новый сеанс Python.

Следующий скрипт (start.py) импортирует модуль IPython и выполняет функцию start_ipython (), чтобы заменить оболочку Python по умолчанию на приглашение (>>>) оболочкой IPython при вызове исполняемого файла Python.

import os, IPython
os.environ['PYTHONSTARTUP'] = ''
IPython.start_ipython()
raise SystemExit

Предполагая, что этот файл хранится в каталоге установки Python (c: \ python36), установите переменную среды PYTHONSTARTUP и запустите Python из командной строки. Затем появится оболочка IPython, как показано ниже —

Каталог установки Python

Обратите внимание, что переменная среды может быть установлена ​​постоянно с помощью диалогового окна «Свойства системы» в Windows и с помощью команды экспорта в Linux.

IPython — импорт кода оболочки Python

IPython может читать со стандартной консоли Python с приглашением по умолчанию >>> и другим сеансом IPython. На следующем снимке экрана показан цикл for, написанный в стандартной оболочке Python —

Стандартный цикл Python Shell

Скопируйте код (вместе с приглашением Python) и вставьте его во входную ячейку IPython. IPython интеллектуально отфильтровывает входные приглашения (>>> и …) или IPython (In [N]: и … 🙂

IPython Input Cell

Аналогично, код из одного сеанса IPython может быть вставлен в другой. Первый скриншот, приведенный ниже, показывает определение функции SayHello () в одном окне IPython —

Окно IPython

Теперь давайте выберем код и вставим его в другую оболочку IPython и вызовем функцию SayHello ().

Оболочка IPython Cmd

Встраивание IPython

Функция embed () модуля IPython позволяет встраивать IPython в пространство имен ваших кодов Python. Таким образом, вы можете использовать функции IPython, такие как самоанализ объекта и завершение табуляции, в среде Python по умолчанию.

Модуль IPython

Объекты Python, присутствующие в глобальном пространстве имен перед внедрением, будут доступны для IPython.

Объекты Python

Если новые объекты формируются в то время как в IPython или предыдущие объекты модифицируются, они будут автоматически доступны для среды по умолчанию после выхода из IPython. Встроенная оболочка IPython не изменяет состояние предыдущего кода или объектов.

Однако, если IPython встроен в локальное пространство имен, как внутри функции, объекты внутри него не будут доступны после его закрытия. Здесь мы определили функцию add (). Внутри add () мы вызываем IPython и объявляем переменную. Если мы попытаемся получить доступ к переменной в IPython после ее закрытия, возникнет исключение NameError.

Исключение IPython NameError

IPython — магические команды

Магические команды или магические функции являются одним из важных улучшений, которые предлагает IPython по сравнению со стандартной оболочкой Python. Эти магические команды предназначены для решения распространенных проблем при анализе данных с использованием Python. Фактически они контролируют поведение самого IPython.

Магические команды действуют как удобные функции, где синтаксис Python не самый естественный. Они полезны для встраивания неверного синтаксиса Python в свой рабочий процесс.

Типы магических команд

Есть два типа магических команд —

  • Линия магии
  • Клеточная магия

Line Magics

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

Cell Magics

У них есть %% префикс символов. В отличие от функций магии строк, они могут работать на несколько строк ниже своего вызова. Фактически они могут вносить произвольные изменения в ввод, который они получают, что вообще не обязательно должно быть допустимым кодом Python. Они получают весь блок в виде одной строки.

Чтобы узнать больше о магических функциях, встроенной магии и их строках документов, используйте магическую команду. Информация о конкретной магической функции получается с помощью% magicfunction? Command. Давайте теперь опишем некоторые из встроенных команд строки и ячейки магии.

Встроенная линия магии

%autocall [mode]

Эта магическая функция делает функцию автоматически вызываемой без использования скобок. Он принимает три возможных параметра режима: 0 (выкл), 1 (умный) по умолчанию или 2 (всегда включен) .

Встроенная линия Magics

% Automagic

Магические функции могут вызываться без необходимости набирать начальный%, если установлено значение 1. Без аргументов он включает / выключает. Чтобы деактивировать, установите на 0.

В следующем примере показана волшебная функция % pwd (отображает текущую рабочую директорию), вызываемая без начального%, когда% automagic установлено в 1

% Automagic

%CD

Эта строка magic меняет текущий каталог. Эта команда автоматически поддерживает внутренний список каталогов, которые вы посещаете во время сеанса IPython, в переменной _dh. Вы также можете сделать ‘cd — <tab>’ для удобного просмотра истории каталогов.

%CD

использование

Команду% cd можно использовать следующими способами:

  • % cd <dir> — изменяет текущий рабочий каталог на <dir>

  • % cd .. — изменяет текущий каталог на родительский каталог

  • % cd — изменяется на последний посещенный каталог.

% cd <dir> — изменяет текущий рабочий каталог на <dir>

% cd .. — изменяет текущий каталог на родительский каталог

% cd — изменяется на последний посещенный каталог.

% dhist

Эта магическая команда печатает все каталоги, которые вы посетили в текущем сеансе. Каждый раз, когда используется команда% cd, этот список обновляется в переменной _dh .

% dhist

%редактировать

Эта волшебная команда вызывает текстовый редактор по умолчанию текущей операционной системы (Notepad for Windows) для редактирования скрипта Python. Сценарий выполняется, так как редактор закрыт.

% ENV

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

использование

Команду% cd можно использовать следующими способами:

  • % env — перечисляет все переменные окружения

  • % env var — получает значение для var

  • % env var val — устанавливает значение для var

% env — перечисляет все переменные окружения

% env var — получает значение для var

% env var val — устанавливает значение для var

% ENV

% gui [GUINAME]

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

Sr.No. Команда и описание
1

% gui wx

включить интеграцию цикла событий wxPython

2

% gui qt4 | qt

включить интеграцию цикла событий PyQt4

3

% gui qt5

включить интеграцию цикла событий PyQt5

4

% gui gtk

включить интеграцию цикла событий PyGTK

5

% gui gtk3

включить интеграцию цикла событий Gtk3

6

% gui tk

включить интеграцию цикла событий Tk

7

% gui osx

включить интеграцию цикла событий Какао

8

(требуется% matplotlib 1.1)

9

% гуй

отключить всю интеграцию цикла событий

% gui wx

включить интеграцию цикла событий wxPython

% gui qt4 | qt

включить интеграцию цикла событий PyQt4

% gui qt5

включить интеграцию цикла событий PyQt5

% gui gtk

включить интеграцию цикла событий PyGTK

% gui gtk3

включить интеграцию цикла событий Gtk3

% gui tk

включить интеграцию цикла событий Tk

% gui osx

включить интеграцию цикла событий Какао

(требуется% matplotlib 1.1)

% гуй

отключить всю интеграцию цикла событий

% lsmagic

Отображает все магические функции, доступные в настоящее время

% lsmagic

% Matplotlib

Эта функция активирует интерактивную поддержку matplotlib во время сеанса IPython. Тем не менее, он не импортирует библиотеку matplotlib. Набор инструментов GUI по умолчанию для matplotlib — TkAgg. Но вы можете явно запросить другой интерфейс GUI. Вы можете увидеть список доступных бэкэндов, как показано на рисунке —

In [4]: %matplotlib --list
Available matplotlib backends: 
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']

Показанный здесь сеанс IPython представляет синусоидальную волну с использованием инструментария qt.

% Matplotlib

При использовании ноутбука Jupyter встроенная директива% matplotlib отображает вывод печати только в браузере.

%ноутбук

Эта функция преобразует текущую историю IPython в файл записной книжки IPython с расширением ipynb. Ячейки ввода в предыдущем примере сохраняются как sine.ipynb

%notebook sine.ipynb

% pinfo

Эта функция похожа на самоанализ объекта? персонаж. Чтобы получить информацию об объекте, используйте следующую команду —

%pinfo object

Это синоним объекта? или ? объект .

% точность

Эта магическая функция ограничивает результат с плавающей точкой указанными цифрами после десятичной дроби.

% точность

% PWD

Эта магическая функция возвращает текущий рабочий каталог.

% PWD

% pylab

Эта функция заполняет текущий сеанс IPython библиотеками matplotlib и numpy.

% pylab

%отзыв

При выполнении без какого-либо параметра эта функция выполняет предыдущую команду.

Обратите внимание, что в % rev n число перед ним является номером входной ячейки. Следовательно, команда в n-й ячейке вызывается. Вы можете вызывать команды в секции ячеек, используя такие команды, как % rec 1-4 . Текущая ячейка ввода заполняется вызванной ячейкой, и курсор мигает до нажатия клавиши ввода.

%отзыв

%бежать

Эта команда запускает скрипт Python из оболочки IPython.

%бежать

%время

Эта команда отображает время, необходимое среде IPython для выполнения выражения Python.

%время

% timeit

Эта функция также отображает время, необходимое среде IPython для выполнения выражения Python. Время выполнения оператора или выражения Python использует модуль timeit. Эту функцию можно использовать как магию строк и ячеек, как описано здесь:

  • В режиме линии вы можете рассчитать одну строку.

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

В режиме линии вы можете рассчитать одну строку.

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

%кто

Эта строка magic печатает все интерактивные переменные с минимальным форматированием. Если даны какие-либо аргументы, печатаются только переменные, тип которых соответствует одному из них.

%кто

IPython Custom Line Волшебная функция

Основная библиотека IPython содержит оформитель register_line_magic. Пользовательская функция преобразуется в магию строки с помощью этого декоратора.

IPython Custom Line Волшебная функция

Проект Jupyter — Обзор

Проект Jupyter начался как ответвление от проекта IPython в 2014 году. Не зависящие от языка функции IPython были перенесены под названием — Jupyter. Название является ссылкой на основные языки программирования, поддерживаемые Jupyter, а именно Julia, Python и RProducts в рамках проекта Jupyter, предназначенные для поддержки интерактивной науки о данных и научных вычислений.

Проект Jupyter состоит из различных продуктов, описанных как —

  • IPykernel — это пакет, который предоставляет ядро ​​IPython для Jupyter.

  • Jupyter client — этот пакет содержит эталонную реализацию протокола Jupyter. Это также клиентская библиотека для запуска, управления и связи с ядрами Jupyter.

  • Блокнот Jupyter — ранее он назывался блокнотом IPython. Это веб-интерфейс к ядру IPython и ядрам многих других языков программирования.

  • Ядра Jupyter — Ядро — это среда исполнения языка программирования для продуктов Jupyter.

IPykernel — это пакет, который предоставляет ядро ​​IPython для Jupyter.

Jupyter client — этот пакет содержит эталонную реализацию протокола Jupyter. Это также клиентская библиотека для запуска, управления и связи с ядрами Jupyter.

Блокнот Jupyter — ранее он назывался блокнотом IPython. Это веб-интерфейс к ядру IPython и ядрам многих других языков программирования.

Ядра Jupyter — Ядро — это среда исполнения языка программирования для продуктов Jupyter.

Список ядер Jupyter приведен ниже —

ядро язык URL
IJulia Юля

https://github.com/JuliaLang

IHaskell Haskell

https://github.com/gibiansky

IRuby Рубин

https://github.com/SciRuby/iruby

IJavaScript JavaScript

https://github.com/n-riesco

ИФВД АН СССР PHP

https://github.com/dawehner

IRKernel р

http://irkernel.github.io/

https://github.com/JuliaLang

https://github.com/gibiansky

https://github.com/SciRuby/iruby

https://github.com/n-riesco

https://github.com/dawehner

http://irkernel.github.io/

  • Qtconsole — богатая консоль на основе Qt для работы с ядрами Jupyter

  • nbconvert — конвертирует файлы блокнота Jupyter в другие форматы

  • JupyterLab — интегрированный веб-интерфейс для ноутбуков, редакторов, консолей и т. Д.

  • nbviewer — программа просмотра HTML для файлов ноутбуков

Qtconsole — богатая консоль на основе Qt для работы с ядрами Jupyter

nbconvert — конвертирует файлы блокнота Jupyter в другие форматы

JupyterLab — интегрированный веб-интерфейс для ноутбуков, редакторов, консолей и т. Д.

nbviewer — программа просмотра HTML для файлов ноутбуков

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

Записная книжка IPython была разработана Фернандо Пересом как веб-интерфейс для ядра IPython. Чтобы создать интегрированную интерактивную вычислительную среду для нескольких языков, проект Notebook был перенесен в Project Jupyter, предоставляя интерфейс для сред программирования Juila и R в дополнение к Python.

Документ блокнота состоит из элементов форматированного текста с текстом в формате HTML, рисунками, математическими уравнениями и т. Д. Блокнот также является исполняемым документом, состоящим из блоков кода на Python или других вспомогательных языках.

Jupyter notebook — это клиент-серверное приложение. Приложение запускает сервер на локальной машине и открывает интерфейс ноутбука в веб-браузере, откуда его можно редактировать и запускать. Записная книжка сохраняется в виде файла ipynb и может быть экспортирована в файлы html, pdf и LaTex.

Работа с Jupyter Online

Если вы новичок в Jupyter, вы можете попробовать функции ноутбука Jupyter перед установкой на локальный компьютер. Для этого зайдите на страницу https://jupyter.org в вашем браузере и выберите опцию «Попробуйте Jupyter with Python» .

Попробуйте Jupyter с Python

Откроется домашняя страница https://mybinder.org. В меню «Файл» выберите новый блокнот, чтобы открыть пустой Jupyter в браузере. Ячейка ввода, как и в терминале IPython, будет отображаться. Вы можете выполнить любое выражение Python в нем.

Jupyter Новый ноутбук

Установка и начало работы

Вы можете легко установить приложение для ноутбука Jupyter, используя менеджер пакетов pip.

pip3 install jupyter

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

c:\python36>jupyter notebook

Серверное приложение запускается с номером порта по умолчанию 8888, и открывается окно браузера, в котором отображается панель ноутбука.

Панель инструментов ноутбука Jupyter

Обратите внимание, что панель инструментов показывает раскрывающийся список рядом с правой границей браузера со стрелкой рядом с кнопкой «Создать». Содержит доступные в настоящее время ядра ноутбуков. Теперь выберите Python 3, затем откроется новая записная книжка на новой вкладке. Отображается ячейка ввода, аналогичная ячейке в консоли IPython.

Вы можете выполнить любое выражение Python в нем. Результат будет отображаться в ячейке Out.

Результат из ячейки

Блокнот Jupyter — Панель приборов

Панель инструментов Jupyter Notebook содержит три вкладки, как показано на скриншоте ниже:

Jupyter Dashboard

Вкладка «Файлы»

На вкладке «Файлы» отображаются файлы и папки в текущем каталоге, из которого было вызвано приложение ноутбука. Строка, соответствующая записной книжке, которая в данный момент открыта, и текущее состояние отображается рядом с последним измененным столбцом. Также отображается кнопка «Загрузить», с помощью которой можно загрузить файл на сервер ноутбука.

Бегущая вкладка

На вкладке «Запуск» показано, какие из записных книжек работают в данный момент.

Кластерная вкладка

Третья вкладка, «Кластеры», обеспечивается параллелью IPython. Платформа параллельных вычислений IPython, расширенная версия ядра IPython.

Из раскрывающегося списка New выберите Terminal, чтобы открыть окно cmd. Теперь вы можете запустить терминал IPython здесь.

IPython Terminal

Jupyter Notebook — Пользовательский интерфейс

В пользовательском интерфейсе Jupyter, рядом с логотипом в заголовке, отображается имя файла.

Jupyter Создание имени файла

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

Jupyter Notebook MenuBar

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

Панель инструментов для ноутбука Jupyter

В ноутбуке есть два режима — командный режим и режим редактирования . Блокнот переходит в режим редактирования при нажатии на ячейку. Обратите внимание на символ карандаша рядом с названием ядра.

Jupyter Notebook Режим редактирования

Символ индикатора ядра отображается справа от имени ядра. Обратите внимание, что полый кружок означает, что ядро ​​не используется, а сплошной кружок означает, что оно занято.

Индикатор ядра Jupyter Notebook

Меню Файл

Ниже перечислены параметры, доступные в меню «Файл».

Sr.No. Файл меню и описание
1

Новый блокнот

выберите ядро ​​для запуска нового ноутбука

2

открыто

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

3

Сохранить как

сохранить текущий блокнот и запустить новое ядро

4

переименовывать

переименовать текущую записную книжку

5

Сохранить

сохраняет текущий блокнот и сохраняет текущую контрольную точку

6

возвращаться

возвращает состояние записной книжки на предыдущую контрольную точку

7

Скачать

экспортировать записную книжку в один из различных форматов файлов

Новый блокнот

выберите ядро ​​для запуска нового ноутбука

открыто

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

Сохранить как

сохранить текущий блокнот и запустить новое ядро

переименовывать

переименовать текущую записную книжку

Сохранить

сохраняет текущий блокнот и сохраняет текущую контрольную точку

возвращаться

возвращает состояние записной книжки на предыдущую контрольную точку

Скачать

экспортировать записную книжку в один из различных форматов файлов

Доступные форматы файлов показаны ниже —

Форматы файлов

Редактировать меню

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

Просмотреть меню

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

Вставить меню

Это меню дает вам возможность вставить ячейку до или после текущей ячейки.

Сотовое меню

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

Ядро Меню

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

Меню виджетов

Из этого меню вы можете сохранять, очищать, загружать или вставлять состояние виджета.

Меню справки

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

Блокнот Jupyter — Типы клеток

Ячейки в ноутбуке Jupyter бывают трех типов — Code, Markdown и Raw .

Кодовые ячейки

Содержимое этой ячейки обрабатывается как операторы на языке программирования текущего ядра. Ядром по умолчанию является Python. Итак, мы можем написать операторы Python в ячейке кода. Когда такая ячейка запущена, ее результат отображается в выходной ячейке. Выходными данными могут быть текст, изображение, графики matplotlib или таблицы HTML. Ячейки кода имеют расширенные текстовые возможности.

Уценка Клетки

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

Сырые клетки

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

Сырые клетки

Блокнот Jupyter — Редактирование

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

Ноутбуки Jupyter имеют два разных режима ввода с клавиатуры —

  • Командный режим — привязывает клавиатуру к действиям на уровне ноутбука. Обозначается серой рамкой ячейки с синим левым полем.

  • Режим редактирования — когда вы печатаете в ячейке. Обозначается зеленой границей ячейки.

Командный режим — привязывает клавиатуру к действиям на уровне ноутбука. Обозначается серой рамкой ячейки с синим левым полем.

Режим редактирования — когда вы печатаете в ячейке. Обозначается зеленой границей ячейки.

Командный режим (нажмите Esc для включения)

F

найти и заменить

1

изменить ячейку на заголовок 1

Ctrl-Shift-F

открыть командную палитру

2

изменить ячейку на заголовок 2

Ctrl-Shift-P

открыть командную палитру

3

изменить ячейку на заголовок 3

Войти

войти в режим редактирования

4

изменить ячейку на заголовок 4

п

открыть командную палитру

5

изменить ячейку на заголовок 5

Shift-Enter

запустить ячейку, выберите ниже

6

изменить ячейку на заголовок 6

Ctrl-Enter

запустить выбранные ячейки

вставить ячейку выше

Alt-Enter

запустить ячейку и вставить ниже

В

вставить ячейку ниже

Y

изменить ячейку на код

Икс

вырезать выделенные клетки

M

изменить ячейку на уценку

С

скопировать выделенные ячейки

р

изменить ячейку на сырой

В

вставьте ячейки ниже

К

выберите ячейку выше

Z

отменить удаление клетки

вверх

выберите ячейку выше

D, D

удалить выбранные ячейки

вниз

выберите ячейку ниже

Shift-M

объединить выбранные ячейки или текущую ячейку с ячейкой ниже, если выбрана только одна ячейка

J

выберите ячейку ниже

Shift-V

вставить клетки выше

Shift-K

расширить выделенные ячейки выше

L

переключать номера строк

Сдвигаются вверх

расширить выделенные ячейки выше

О

переключить вывод выбранных ячеек

Перейти вниз

расширить выделенные ячейки ниже

Shift-O

переключить прокрутку вывода выбранных ячеек

Shift-J

расширить выделенные ячейки ниже

I, I

прервать ядро

Ctrl-S

Сохранить и контрольная точка

0,0

перезапустите ядро ​​(с диалогом)

S

Сохранить и контрольная точка

Esc

закрыть пейджер

Shift-L

переключает номера строк во всех ячейках и сохраняет настройку

Q

закрыть пейджер

Shift-Space

пролистать блокнот

Космос

прокрутить блокнот вниз

F

1

Ctrl-Shift-F

2

Ctrl-Shift-P

3

Войти

4

п

5

Shift-Enter

6

Ctrl-Enter

Alt-Enter

В

Y

Икс

M

С

р

В

К

Z

вверх

D, D

вниз

Shift-M

объединить выбранные ячейки или текущую ячейку с ячейкой ниже, если выбрана только одна ячейка

J

Shift-V

Shift-K

L

Сдвигаются вверх

О

Перейти вниз

Shift-O

Shift-J

I, I

Ctrl-S

0,0

S

Esc

Shift-L

Q

Shift-Space

Космос

Режим редактирования (нажмите Enter, чтобы включить)

табуляция

завершение кода или отступ

Ctrl-Home

перейти к началу клетки

Shift-Tab

подсказка

Ctrl-Up

перейти к началу клетки

Ctrl-]

отступ

Ctrl-End

идти к концу клетки

Ctrl- [

dedent

Ctrl-Down

идти к концу клетки

Ctrl-A

выбрать все

Ctrl-Left

иди на слово влево

Ctrl-Z ,

расстегивать

Ctrl-Right

иди на слово

Ctrl + /

комментарий

Ctrl-M

войти в командный режим

Ctrl-D ,

удалить всю строку

Ctrl-Shift-F

открыть командную палитру

Ctrl-U

отменить выбор

Ctrl-Shift-P

открыть командную палитру

Вставить

флаг перезаписи

Esc

войти в командный режим

Ctrl-Backspace

удалить слово перед

Ctrl-Y

переделывать

Ctrl-Delete

удалить слово после

Alt-U

повторить выбор

Shift-Enter

запустить ячейку, выберите ниже

Ctrl-Shift-минус

разделить ячейку на курсор

Ctrl-Enter

запустить выбранные ячейки

вниз

переместить курсор вниз

Alt-Enter

запустить ячейку и вставить ниже

вверх

переместить курсор вверх

Ctrl-S

Сохранить и контрольная точка

табуляция

Ctrl-Home

Shift-Tab

Ctrl-Up

Ctrl-]

Ctrl-End

Ctrl- [

Ctrl-Down

Ctrl-A

Ctrl-Left

Ctrl-Z ,

Ctrl-Right

Ctrl + /

Ctrl-M

Ctrl-D ,

Ctrl-Shift-F

Ctrl-U

Ctrl-Shift-P

Вставить

Esc

Ctrl-Backspace

Ctrl-Y

Ctrl-Delete

Alt-U

Shift-Enter

Ctrl-Shift-минус

Ctrl-Enter

вниз

Alt-Enter

вверх

Ctrl-S

Блокнот Jupyter — уценочные клетки

В ячейке Markdown отображается текст, который можно отформатировать с использованием языка разметки. Чтобы ввести текст, который не должен обрабатываться сервером Notebook как код, сначала его необходимо преобразовать в ячейку уценки либо из меню ячейки, либо с помощью сочетания клавиш M в режиме команд. Запрос In [] до исчезновения ячейки.

Ячейка заголовка

Ячейка уценки может отображать текст заголовка 6 размеров, аналогично заголовкам HTML. Начать текст в ячейке уценки символом #. Используйте столько символов #, которые соответствуют желаемому уровню заголовка. Это означает, что одиночный # будет отображать самую большую строку заголовка, а шесть # символов отображают заголовок наименьшего размера шрифта. Рендеринг будет происходить при запуске ячейки из меню ячейки или кнопки запуска на панели инструментов.

На следующем скриншоте показаны ячейки уценки в режиме редактирования с заголовками трех разных уровней.

Клетки уценки три уровня

Когда клетки запускаются, вывод выглядит следующим образом —

Выход уценочных ячеек

Обратите внимание, что разметка ноутбука Jupyter не поддерживает функцию WYSWYG. Эффект форматирования будет отображаться только после запуска ячейки уценки.

Упорядоченные списки

Чтобы отобразить нумерованный список, как это делается тегом <ol> в HTML, первый элемент в списке должен быть пронумерован как 1. Последующим элементам может быть присвоено любое число. Он будет отображаться последовательно при запуске ячейки уценки. Чтобы отобразить список с отступом, нажмите клавишу табуляции и начните первый элемент в каждом подсписке с 1.

Если вы предоставите следующие данные для уценки —

Упорядоченные списки

Появится следующий список —

Упорядоченный список вывода

Списки маркеров

Каждый элемент в списке будет отображаться сплошным кружком, если он начинается с символа -, где сплошной квадратный символ будет отображаться, если список начинается с символа *. Следующий пример объясняет эту функцию —

Списки Пули

Оказанная уценка отображается как показано ниже:

Вывод пули

Гиперссылки

Текст разметки, начинающийся с http или https, автоматически отображает гиперссылку. Чтобы прикрепить ссылку к тексту, поместите текст в квадратные скобки [] и укажите ссылку в скобках (), включая текст при наведении. Следующий скриншот объяснит это.

Гиперссылка Включая

Оказывается уценка выглядит, как показано ниже —

Гиперссылка включена

Жирный и Курсив

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

Нанесение жирным шрифтом и курсивом

Результат как показано ниже —

Вывод жирным шрифтом и курсивом

Изображений

Чтобы отобразить изображение в ячейке уценки, выберите «Вставить изображение» в меню «Правка» и перейдите к нужному файлу изображения. Ячейка уценки показывает свой синтаксис следующим образом:

Вложение логотипа

Изображение будет отображено на ноутбуке, как показано ниже —

Логотип Юпитер

Таблица

В ячейке уценки таблица может быть построена с использованием | (символ трубы) и — (тире), чтобы отметить столбцы и строки. Обратите внимание, что символы не обязательно должны быть точно выровнены при наборе текста. Он должен занимать только соответствующие места границ столбцов и границ строк. Размер ноутбука автоматически изменится в соответствии с содержимым. Таблица построена, как показано ниже —

Конструкция стола

Выходная таблица будет отображена как показано ниже —

Таблица вывода

Jupyter Notebook — Функции сотовой магии

В этой главе давайте разберемся с магическими функциями клетки и их функциями.

%% HTML

Эта магическая функция ячейки отображает содержимое ячейки кода в виде HTML-скрипта.

HTML скрипт

%% js или %% javascript

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

Встраивание кода JavaScript

Вывод кода JavaScript

%% WriteFile

Содержимое ячейки кода записывается в файл с помощью этой команды.

Написать файл

Блокнот Jupyter — черчение

Ядро IPython ноутбука Jupyter может отображать участки кода в ячейках ввода. Работает без проблем с библиотекой matplotlib . Опция inline с магической функцией % matplotlib отображает ячейку графика, даже если функция show () объекта графика не вызывается. Функция show () позволяет отображать рисунок ниже в ячейке [] без номера [] с номером.

Библиотека Matplotlib

Теперь добавьте plt.show () в конце и снова запустите ячейку, чтобы увидеть разницу.

Обратите внимание, что блокнот% matplotlib предоставляет интерактивный сюжет.

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

Панель инструментов библиотеки Matplotlib

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

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

Изменить данные под

Jupyter — конвертация ноутбуков

Файлы ноутбуков Jupyter имеют расширение .ipynb . Записная книжка отображается в веб-браузере с помощью приложения Записная книжка. Его можно экспортировать в различные форматы файлов, используя параметр загрузки в меню файлов. Jupyter также имеет интерфейс командной строки в виде опции nbconvert . По умолчанию nbconvert экспортирует записную книжку в формат HTML. Вы можете использовать следующую команду для этой цели —

jupyter nbconvert mynotebook.ipynb

Это преобразует mynotebook.ipynb в mynotebook.html . Другой формат экспорта указывается в предложении `—to` .

Обратите внимание, что другие опции включают [‘asciidoc’, ‘custom’, ‘html’, ‘latex’, ‘markdown’, ‘notebook’, ‘pdf’, ‘python’, ‘rst’, ‘script’, ‘slides’]

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

jupyter nbconvert --to html --template basic mynotebook.ipynb

LaTex — формат подготовки документов, используемый специально для научного набора текста. Jupyter включает шаблоны «base», «article» и «report».

jupyter nbconvert --to latex –template report mynotebook.ipynb

Чтобы создать PDF через латекс, используйте следующую команду —

jupyter nbconvert mynotebook.ipynb --to pdf

Записную книжку можно экспортировать в слайд-шоу HTML. Преобразование использует Reveal.js в фоновом режиме. Чтобы обслуживать слайды HTTP-сервером, добавьте —postserve в командной строке. Чтобы создавать слайды, не требующие подключения к Интернету, просто поместите библиотеку Reveal.js в тот же каталог, где находится your_talk.slides.html .

jupyter nbconvert myslides.ipynb --to slides --post serve

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

--to markdown

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

--to rst

Это самый простой способ получить скрипт Python (или другой язык, в зависимости от ядра) из блокнота.

--to script

Jupyter Notebook — IPyWidgets

IPyWidgets — это библиотека Python интерактивных виджетов HTML для ноутбука Jupyter. Каждый элемент пользовательского интерфейса в библиотеке может реагировать на события и вызывает определенные функции обработчика событий. Они расширяют интерактивные возможности приложения Jupyter для ноутбуков.

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

from ipywidgets import widgets

Некоторые основные IPyWidgets объясняются здесь —

Ввод текста

Функция widgets.text () отображает виджеты в блокноте. Это похоже на элемент формы текстового поля в HTML. Объект этого виджета имеет метод on_submit (), который прослушивает активность текстового поля и может вызывать обработчик события, указанный в качестве аргумента.

кнопка

Этот виджет похож на кнопку HTML. При щелчке событие регистрируется методом on_click (), который вызывает обработчик события click.

IntSlider

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

этикетка

Этот виджет полезен для отображения не редактируемого текста в блокноте.

Дисплей ()

Эта функция из модуля ipywidgets отображает объект виджета в ячейке ввода ноутбука.

взаимодействовать

Эта функция автоматически отображает виджет в зависимости от типа заданного ему аргумента данных. Первый аргумент этой функции — обработчик события, а второй — значение, переданное самому обработчику события.

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

Создание формы

Jupyter QtConsole — Начало работы

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

обзор

Консоль Qt представляет собой приложение с графическим интерфейсом, похожее на терминал IPython. Тем не менее, он предоставляет ряд улучшений, которые недоступны в текстовом терминале IPython. В число расширенных функций входят встроенные рисунки, многострочное редактирование с подсветкой синтаксиса, графические подсказки и т. Д. Консоль Qt может использовать любое ядро ​​Jupyter, по умолчанию используется ядро ​​IPython.

Монтаж

Jupyter QtConsole является частью проекта Jupyter. В дистрибутиве Anaconda уже есть приложение QTconsole. Чтобы установить его по отдельности, используйте команду pip, как показано ниже —

pip3 install qtconsole

Вы также можете использовать команду conda для этой цели —

conda install qtconsole

Вы можете запустить консоль Jupyter из навигатора Anaconda. Чтобы запустить его из командной строки, вы должны использовать следующую команду из командной строки Windows или Anaconda:

jupyter qtonsole

Вы получаете терминал, похожий на терминал IPython, с первым приглашением In []. Теперь вы можете выполнить любое выражение Python точно так же, как мы это делаем в терминале IPython или в блокноте Jupyter.

Jupyter QtConsole

Jupyter QtConsole — Многострочное редактирование

Многострочное редактирование — это одна из функций, которая недоступна в терминале IPython. Чтобы ввести более одной инструкции в одну ячейку ввода, нажмите ctrl + enter после первой строки. Впоследствии, просто нажав Enter, вы добавите новую строку в ту же ячейку. Чтобы прекратить ввод новых строк и запуск ячейки, нажмите клавишу ввода еще раз в конце. Ячейка запустится, и вывод отобразится в следующей ячейке out [].

Многострочное редактирование

Jupyter QtConsole — Встроенная графика

Еще одно важное улучшение, предлагаемое QtConsole, — это возможность отображать встроенную графику, особенно графики. Эта функция хорошо работает с Matplotlib, а также с другими библиотеками печати.

Встроенная графика

Jupyter QtConsole — Сохранить в HTML

Эта опция для сохранения вывода QtConsole в виде файла HTML доступна в меню Файл. Вы можете выбрать создание файла со встроенным изображением или нанесенным рисунком в качестве внешнего png-файла в соседней папке (называемой qt_files).

QtConsole выводится как HTML

Jupyter QtConsole — несколько консолей

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

  • Новая вкладка с новым ядром — вы можете загрузить новое ядро ​​с помощью этого файлового меню.

  • Новая вкладка с существующим ядром — используя эту опцию, вы можете выбирать из дополнительных ядер помимо ядра IPython.

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

Новая вкладка с новым ядром — вы можете загрузить новое ядро ​​с помощью этого файлового меню.

Новая вкладка с существующим ядром — используя эту опцию, вы можете выбирать из дополнительных ядер помимо ядра IPython.

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

Несколько консолей

Подключение к ноутбуку Jupyter

Для использования с ноутбуком Jupyter доступна команда% qtconsole magic. Это вызывает QtConsole как подчиненный терминал для интерфейса ноутбука. В результате данные между ноутбуком и терминалом Qtconsole могут совместно использоваться.

Подключение ноутбука Jupyter

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

Обратите внимание, что входные и выходные ячейки нумеруются постепенно между ними.

Использование github и nbviewer

Совместное использование ноутбука Jupyter — Использование github и nbviewer

Файлы Jupyter Notebook с расширением .ipynb в репозитории GitHub будут отображаться как статические файлы HTML при их открытии. Интерактивные функции ноутбука, такие как пользовательские графики JavaScript, не будут работать в вашем хранилище на GitHub.

Чтобы поделиться файлом блокнота с помощью github, войдите на https://github.com и создайте публичный репозиторий. Затем загрузите свои файлы, используя кнопку загрузки файла, как показано ниже —

Github

Это даст вам возможность зафиксировать изменения, внесенные в хранилище. Затем хранилище покажет загруженный файл, как показано ниже —

Обновленный репозиторий

Нажмите на загруженный файл для просмотра внутри github viewer. Вы можете поделиться выделенным URL для других.

Внутри Github зритель

Другой способ просмотра файла блокнота в Интернете — использование утилиты nbviewer Project Jupyter. Откройте https://nbviewer.jupyter.org/ и укажите URL-адрес файла в вашем хранилище в текстовом поле, как показано на рисунке. Нажмите кнопку Go, чтобы просмотреть записную книжку.

nbviewer

Оба эти метода отображают файл записной книжки в виде статического HTML. Чтобы иметь возможность выполнять код в блокноте, откройте его с помощью приложения Binder проекта Jupyter.

Применение связующего

В окне nbviewer вы увидите кнопку «Выполнить в Binder». Нажмите на него, и вы увидите, что файл записной книжки открыт точно так же, как вы открываете его с локальной панели сервера сервера записной книжки на вашем локальном компьютере. Вы можете выполнять все действия, такие как добавление / редактирование ячеек, запуск ячеек и т. Д.

Выполнить по связующему

JupyterLab — Обзор

Проект Jupyter описывает JupyterLab как веб-интерфейс пользователя следующего поколения для всех продуктов в экосистеме Jupyter. Это позволяет беспрепятственно работать с ноутбуком, редакторами и терминалами.

Некоторые важные функции JupyterLab обсуждаются ниже —

  • Code Console выступает в качестве блокнота для интерактивного запуска кода. Он имеет полную поддержку расширенного вывода и может быть связан с ядром ноутбука для регистрации активности ноутбука.

  • Любой текстовый файл (Markdown, Python, R, LaTeX и т. Д.) Может быть запущен в интерактивном режиме в любом ядре Jupyter.

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

  • Редактирование документа в реальном времени отражается в других средствах просмотра, таких как редакторы или консоли. Можно иметь предварительный просмотр документов Markdown, разделенных разделителями значений или документов Vega / Vega-Lite.

Code Console выступает в качестве блокнота для интерактивного запуска кода. Он имеет полную поддержку расширенного вывода и может быть связан с ядром ноутбука для регистрации активности ноутбука.

Любой текстовый файл (Markdown, Python, R, LaTeX и т. Д.) Может быть запущен в интерактивном режиме в любом ядре Jupyter.

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

Редактирование документа в реальном времени отражается в других средствах просмотра, таких как редакторы или консоли. Можно иметь предварительный просмотр документов Markdown, разделенных разделителями значений или документов Vega / Vega-Lite.

JupyterLab может работать со многими форматами файлов (изображения, CSV, JSON, Markdown, PDF и т. Д.). Он также отображает богатый вывод в этих форматах. JupyterLab предоставляет настраиваемые сочетания клавиш, использует таблицы клавиш многих известных текстовых редакторов.

JupyterLab — Установка и начало работы

Вы можете попробовать онлайн возможности JupyterLab перед установкой. Посетите https://jupyter.org/try и выберите вариант «попробовать JupyterLab».

JupyterLab

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

JupyterLab обычно устанавливается автоматически с дистрибутивом Anaconda. Однако его также можно установить отдельно с помощью следующей команды conda —

conda install -c conda-forge jupyterlab

Вы также можете использовать команду pip для этой цели —

pip3 install jupyterlab

Для запуска приложения JupyterLab наиболее удобным способом является Anaconda Navigator, если он установлен.

Анаконда Навигатор

Поочередно запустите его из командной строки из командной строки Windows / Linux или из командной строки Anaconda, используя эту команду —

jupyter lab

В любом случае, экран запуска приложения JupyterLab выглядит так:

Экран запуска JupyterLab

JupyterLab — интерфейс

Чтобы запустить новую записную книжку, щелкните по нужному ядру. На скриншоте выше видно одно ядро ​​Python3. Нажмите на нее, чтобы запустить тетрадь Python. Обратите внимание, что его функциональность похожа на ту, которую мы изучали в этом уроке.

Запустите Python Notebook

Строка меню

Панель меню находится в верхней части окна. Меню по умолчанию, которые вы можете найти в этом —

  • Файл — Действия, связанные с файлами и каталогами.

  • Редактировать — Действия, связанные с редактированием документов и другими действиями.

  • Вид — действия, которые изменяют внешний вид JupyterLab.

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

  • Ядро — Действия для управления ядрами, которые являются отдельными процессами для запуска кода.

  • Вкладки — список открытых документов и действий на панели док-станции.

  • Настройки — Общие настройки и расширенный редактор настроек.

  • Справка — список ссылок на JupyterLab и справку ядра.

Файл — Действия, связанные с файлами и каталогами.

Редактировать — Действия, связанные с редактированием документов и другими действиями.

Вид — действия, которые изменяют внешний вид JupyterLab.

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

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

Вкладки — список открытых документов и действий на панели док-станции.

Настройки — Общие настройки и расширенный редактор настроек.

Справка — список ссылок на JupyterLab и справку ядра.

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

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

Запуск новой консоли

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

Панель запуска также позволяет открывать текстовый редактор и терминал, в котором можно вызывать оболочку IPython.

Текстовый редактор оболочки IPython

JupyterLab — Установка ядра R

Project Jupyter теперь поддерживает ядра сред программирования. Теперь посмотрим, как установить ядро ​​R в дистрибутив anaconda.

В окне приглашения Anaconda введите следующую команду —

conda install -c r r-essentials

Теперь на вкладке запуска выберите R kernel, чтобы запустить новую записную книжку.

Launcher Tab R kernel

Ниже приведен скриншот ноутбука Jupyter с ядром R —