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] появляется до появления выхода.
Кроме того, числа в квадратных скобках увеличиваются автоматически. Посмотрите на следующий скриншот для лучшего понимания —
Теперь, если вы установили дистрибутив Python для Anaconda, откройте приглашение Anaconda из меню «Пуск».
Запустите IPython из командной строки
По сравнению с обычной консолью Python, мы можем заметить разницу. Оболочка IPython показывает подсветку синтаксиса, используя разные цветовые схемы для разных элементов, таких как выражение, функция, переменная и т. Д.
Еще одно полезное улучшение — завершение табуляции. Мы знаем, что у каждого объекта есть один или несколько доступных методов, как определено в его классе. IPython выскакивает соответствующий список методов, когда вы нажимаете клавишу табуляции после точки перед объектом.
В следующем примере определена строка. В ответ показаны методы строкового класса.
IPython предоставляет информацию о любом объекте, поставив ‘?’ перед ней. Он включает в себя строку документации, определения функций и детали конструктора класса. Например, чтобы изучить строковый объект var, определенный выше, введите в командной строке var? , Результат покажет всю информацию об этом. Посмотрите на скриншот, приведенный ниже для лучшего понимания —
Волшебные Функции
Встроенные магические функции 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 с $ также достигает того же результата.
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. Его информацию можно получить, набрав? во входной ячейке.
Во втором примере давайте определим функцию и проанализируем этот объект функции с помощью ? и ?? ,
Обратите внимание, что магическая функция % 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, как показано ниже —
Обратите внимание, что переменная среды может быть установлена постоянно с помощью диалогового окна «Свойства системы» в Windows и с помощью команды экспорта в Linux.
IPython — импорт кода оболочки Python
IPython может читать со стандартной консоли Python с приглашением по умолчанию >>> и другим сеансом IPython. На следующем снимке экрана показан цикл for, написанный в стандартной оболочке Python —
Скопируйте код (вместе с приглашением Python) и вставьте его во входную ячейку IPython. IPython интеллектуально отфильтровывает входные приглашения (>>> и …) или IPython (In [N]: и … 🙂
Аналогично, код из одного сеанса IPython может быть вставлен в другой. Первый скриншот, приведенный ниже, показывает определение функции SayHello () в одном окне IPython —
Теперь давайте выберем код и вставим его в другую оболочку IPython и вызовем функцию SayHello ().
Встраивание IPython
Функция embed () модуля IPython позволяет встраивать IPython в пространство имен ваших кодов Python. Таким образом, вы можете использовать функции IPython, такие как самоанализ объекта и завершение табуляции, в среде Python по умолчанию.
Объекты Python, присутствующие в глобальном пространстве имен перед внедрением, будут доступны для IPython.
Если новые объекты формируются в то время как в IPython или предыдущие объекты модифицируются, они будут автоматически доступны для среды по умолчанию после выхода из IPython. Встроенная оболочка IPython не изменяет состояние предыдущего кода или объектов.
Однако, если IPython встроен в локальное пространство имен, как внутри функции, объекты внутри него не будут доступны после его закрытия. Здесь мы определили функцию add (). Внутри add () мы вызываем IPython и объявляем переменную. Если мы попытаемся получить доступ к переменной в IPython после ее закрытия, возникнет исключение NameError.
IPython — магические команды
Магические команды или магические функции являются одним из важных улучшений, которые предлагает IPython по сравнению со стандартной оболочкой Python. Эти магические команды предназначены для решения распространенных проблем при анализе данных с использованием Python. Фактически они контролируют поведение самого IPython.
Магические команды действуют как удобные функции, где синтаксис Python не самый естественный. Они полезны для встраивания неверного синтаксиса Python в свой рабочий процесс.
Типы магических команд
Есть два типа магических команд —
- Линия магии
- Клеточная магия
Line Magics
Они похожи на вызовы командной строки. Они начинаются с символа%. Остальная часть строки — это аргумент, переданный без скобок и кавычек. Магические линии можно использовать в качестве выражения, а их возвращаемое значение можно присвоить переменной.
Cell Magics
У них есть %% префикс символов. В отличие от функций магии строк, они могут работать на несколько строк ниже своего вызова. Фактически они могут вносить произвольные изменения в ввод, который они получают, что вообще не обязательно должно быть допустимым кодом Python. Они получают весь блок в виде одной строки.
Чтобы узнать больше о магических функциях, встроенной магии и их строках документов, используйте магическую команду. Информация о конкретной магической функции получается с помощью% magicfunction? Command. Давайте теперь опишем некоторые из встроенных команд строки и ячейки магии.
Встроенная линия магии
%autocall [mode]
Эта магическая функция делает функцию автоматически вызываемой без использования скобок. Он принимает три возможных параметра режима: 0 (выкл), 1 (умный) по умолчанию или 2 (всегда включен) .
% Automagic
Магические функции могут вызываться без необходимости набирать начальный%, если установлено значение 1. Без аргументов он включает / выключает. Чтобы деактивировать, установите на 0.
В следующем примере показана волшебная функция % pwd (отображает текущую рабочую директорию), вызываемая без начального%, когда% automagic установлено в 1
%CD
Эта строка magic меняет текущий каталог. Эта команда автоматически поддерживает внутренний список каталогов, которые вы посещаете во время сеанса IPython, в переменной _dh. Вы также можете сделать ‘cd — <tab>’ для удобного просмотра истории каталогов.
использование
Команду% cd можно использовать следующими способами:
-
% cd <dir> — изменяет текущий рабочий каталог на <dir>
-
% cd .. — изменяет текущий каталог на родительский каталог
-
% cd — изменяется на последний посещенный каталог.
% cd <dir> — изменяет текущий рабочий каталог на <dir>
% cd .. — изменяет текущий каталог на родительский каталог
% cd — изменяется на последний посещенный каталог.
% dhist
Эта магическая команда печатает все каталоги, которые вы посетили в текущем сеансе. Каждый раз, когда используется команда% cd, этот список обновляется в переменной _dh .
%редактировать
Эта волшебная команда вызывает текстовый редактор по умолчанию текущей операционной системы (Notepad for Windows) для редактирования скрипта Python. Сценарий выполняется, так как редактор закрыт.
% ENV
Эта магическая команда выведет список всех переменных среды. Он также читает значение конкретной переменной или устанавливает значение переменной среды.
использование
Команду% cd можно использовать следующими способами:
-
% env — перечисляет все переменные окружения
-
% env var — получает значение для var
-
% env var val — устанавливает значение для var
% env — перечисляет все переменные окружения
% env var — получает значение для var
% env var val — устанавливает значение для var
% 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
Отображает все магические функции, доступные в настоящее время
% 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.
При использовании ноутбука Jupyter встроенная директива% matplotlib отображает вывод печати только в браузере.
%ноутбук
Эта функция преобразует текущую историю IPython в файл записной книжки IPython с расширением ipynb. Ячейки ввода в предыдущем примере сохраняются как sine.ipynb
%notebook sine.ipynb
% pinfo
Эта функция похожа на самоанализ объекта? персонаж. Чтобы получить информацию об объекте, используйте следующую команду —
%pinfo object
Это синоним объекта? или ? объект .
% точность
Эта магическая функция ограничивает результат с плавающей точкой указанными цифрами после десятичной дроби.
% PWD
Эта магическая функция возвращает текущий рабочий каталог.
% pylab
Эта функция заполняет текущий сеанс IPython библиотеками matplotlib и numpy.
%отзыв
При выполнении без какого-либо параметра эта функция выполняет предыдущую команду.
Обратите внимание, что в % rev n число перед ним является номером входной ячейки. Следовательно, команда в n-й ячейке вызывается. Вы можете вызывать команды в секции ячеек, используя такие команды, как % rec 1-4 . Текущая ячейка ввода заполняется вызванной ячейкой, и курсор мигает до нажатия клавиши ввода.
%бежать
Эта команда запускает скрипт Python из оболочки IPython.
%время
Эта команда отображает время, необходимое среде IPython для выполнения выражения Python.
% timeit
Эта функция также отображает время, необходимое среде IPython для выполнения выражения Python. Время выполнения оператора или выражения Python использует модуль timeit. Эту функцию можно использовать как магию строк и ячеек, как описано здесь:
-
В режиме линии вы можете рассчитать одну строку.
-
В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.
В режиме линии вы можете рассчитать одну строку.
В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.
%кто
Эта строка magic печатает все интерактивные переменные с минимальным форматированием. Если даны какие-либо аргументы, печатаются только переменные, тип которых соответствует одному из них.
IPython Custom Line Волшебная функция
Основная библиотека IPython содержит оформитель register_line_magic. Пользовательская функция преобразуется в магию строки с помощью этого декоратора.
Проект 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 | Юля | |
IHaskell | Haskell | |
IRuby | Рубин | |
IJavaScript | JavaScript | |
ИФВД АН СССР | PHP | |
IRKernel | р |
https://github.com/SciRuby/iruby
-
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» .
Откроется домашняя страница https://mybinder.org. В меню «Файл» выберите новый блокнот, чтобы открыть пустой Jupyter в браузере. Ячейка ввода, как и в терминале IPython, будет отображаться. Вы можете выполнить любое выражение Python в нем.
Установка и начало работы
Вы можете легко установить приложение для ноутбука Jupyter, используя менеджер пакетов pip.
pip3 install jupyter
Чтобы запустить приложение, используйте следующую команду в окне командной строки.
c:\python36>jupyter notebook
Серверное приложение запускается с номером порта по умолчанию 8888, и открывается окно браузера, в котором отображается панель ноутбука.
Обратите внимание, что панель инструментов показывает раскрывающийся список рядом с правой границей браузера со стрелкой рядом с кнопкой «Создать». Содержит доступные в настоящее время ядра ноутбуков. Теперь выберите Python 3, затем откроется новая записная книжка на новой вкладке. Отображается ячейка ввода, аналогичная ячейке в консоли IPython.
Вы можете выполнить любое выражение Python в нем. Результат будет отображаться в ячейке Out.
Блокнот Jupyter — Панель приборов
Панель инструментов Jupyter Notebook содержит три вкладки, как показано на скриншоте ниже:
Вкладка «Файлы»
На вкладке «Файлы» отображаются файлы и папки в текущем каталоге, из которого было вызвано приложение ноутбука. Строка, соответствующая записной книжке, которая в данный момент открыта, и текущее состояние отображается рядом с последним измененным столбцом. Также отображается кнопка «Загрузить», с помощью которой можно загрузить файл на сервер ноутбука.
Бегущая вкладка
На вкладке «Запуск» показано, какие из записных книжек работают в данный момент.
Кластерная вкладка
Третья вкладка, «Кластеры», обеспечивается параллелью IPython. Платформа параллельных вычислений IPython, расширенная версия ядра IPython.
Из раскрывающегося списка New выберите Terminal, чтобы открыть окно cmd. Теперь вы можете запустить терминал IPython здесь.
Jupyter Notebook — Пользовательский интерфейс
В пользовательском интерфейсе Jupyter, рядом с логотипом в заголовке, отображается имя файла.
Вы можете найти строку меню под заголовком. Каждое меню содержит много опций, которые будут обсуждаться позже.
Ряд значков, формирующих панель инструментов, помогает пользователю выполнять часто необходимые операции
В ноутбуке есть два режима — командный режим и режим редактирования . Блокнот переходит в режим редактирования при нажатии на ячейку. Обратите внимание на символ карандаша рядом с названием ядра.
Символ индикатора ядра отображается справа от имени ядра. Обратите внимание, что полый кружок означает, что ядро не используется, а сплошной кружок означает, что оно занято.
Меню Файл
Ниже перечислены параметры, доступные в меню «Файл».
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-скрипта.
%% js или %% javascript
Вы можете встроить код JavaScript в ячейку блокнота Jupyter с помощью этой магической команды.
%% WriteFile
Содержимое ячейки кода записывается в файл с помощью этой команды.
Блокнот Jupyter — черчение
Ядро IPython ноутбука Jupyter может отображать участки кода в ячейках ввода. Работает без проблем с библиотекой matplotlib . Опция inline с магической функцией % matplotlib отображает ячейку графика, даже если функция show () объекта графика не вызывается. Функция show () позволяет отображать рисунок ниже в ячейке [] без номера [] с номером.
Теперь добавьте plt.show () в конце и снова запустите ячейку, чтобы увидеть разницу.
Обратите внимание, что блокнот% 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 — Многострочное редактирование
Многострочное редактирование — это одна из функций, которая недоступна в терминале IPython. Чтобы ввести более одной инструкции в одну ячейку ввода, нажмите ctrl + enter после первой строки. Впоследствии, просто нажав Enter, вы добавите новую строку в ту же ячейку. Чтобы прекратить ввод новых строк и запуск ячейки, нажмите клавишу ввода еще раз в конце. Ячейка запустится, и вывод отобразится в следующей ячейке out [].
Jupyter QtConsole — Встроенная графика
Еще одно важное улучшение, предлагаемое QtConsole, — это возможность отображать встроенную графику, особенно графики. Эта функция хорошо работает с Matplotlib, а также с другими библиотеками печати.
Jupyter QtConsole — Сохранить в HTML
Эта опция для сохранения вывода QtConsole в виде файла HTML доступна в меню Файл. Вы можете выбрать создание файла со встроенным изображением или нанесенным рисунком в качестве внешнего png-файла в соседней папке (называемой qt_files).
Jupyter QtConsole — несколько консолей
Вы можете открыть более одной вкладки в консольном приложении Jupyter. Для этого предусмотрены три параметра в меню «Файл».
-
Новая вкладка с новым ядром — вы можете загрузить новое ядро с помощью этого файлового меню.
-
Новая вкладка с существующим ядром — используя эту опцию, вы можете выбирать из дополнительных ядер помимо ядра IPython.
-
Новая вкладка с тем же ядром — это создает подчиненное ядро, загруженное на определенную вкладку. В результате объект, инициализированный на главной вкладке, будет доступен в подчиненном и наоборот.
Новая вкладка с новым ядром — вы можете загрузить новое ядро с помощью этого файлового меню.
Новая вкладка с существующим ядром — используя эту опцию, вы можете выбирать из дополнительных ядер помимо ядра IPython.
Новая вкладка с тем же ядром — это создает подчиненное ядро, загруженное на определенную вкладку. В результате объект, инициализированный на главной вкладке, будет доступен в подчиненном и наоборот.
Подключение к ноутбуку Jupyter
Для использования с ноутбуком Jupyter доступна команда% qtconsole magic. Это вызывает QtConsole как подчиненный терминал для интерфейса ноутбука. В результате данные между ноутбуком и терминалом Qtconsole могут совместно использоваться.
Вы можете видеть, что переменная в записной книжке доступна в окне qtconsole . Кроме того, новая переменная в Qtconsole используется обратно в записной книжке.
Обратите внимание, что входные и выходные ячейки нумеруются постепенно между ними.
Использование github и nbviewer
Совместное использование ноутбука Jupyter — Использование github и nbviewer
Файлы Jupyter Notebook с расширением .ipynb в репозитории GitHub будут отображаться как статические файлы HTML при их открытии. Интерактивные функции ноутбука, такие как пользовательские графики JavaScript, не будут работать в вашем хранилище на GitHub.
Чтобы поделиться файлом блокнота с помощью github, войдите на https://github.com и создайте публичный репозиторий. Затем загрузите свои файлы, используя кнопку загрузки файла, как показано ниже —
Это даст вам возможность зафиксировать изменения, внесенные в хранилище. Затем хранилище покажет загруженный файл, как показано ниже —
Нажмите на загруженный файл для просмотра внутри github viewer. Вы можете поделиться выделенным URL для других.
Другой способ просмотра файла блокнота в Интернете — использование утилиты nbviewer Project Jupyter. Откройте https://nbviewer.jupyter.org/ и укажите URL-адрес файла в вашем хранилище в текстовом поле, как показано на рисунке. Нажмите кнопку Go, чтобы просмотреть записную книжку.
Оба эти метода отображают файл записной книжки в виде статического 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 обычно устанавливается автоматически с дистрибутивом Anaconda. Однако его также можно установить отдельно с помощью следующей команды conda —
conda install -c conda-forge jupyterlab
Вы также можете использовать команду pip для этой цели —
pip3 install jupyterlab
Для запуска приложения JupyterLab наиболее удобным способом является Anaconda Navigator, если он установлен.
Поочередно запустите его из командной строки из командной строки Windows / Linux или из командной строки Anaconda, используя эту команду —
jupyter lab
В любом случае, экран запуска приложения JupyterLab выглядит так:
JupyterLab — интерфейс
Чтобы запустить новую записную книжку, щелкните по нужному ядру. На скриншоте выше видно одно ядро Python3. Нажмите на нее, чтобы запустить тетрадь Python. Обратите внимание, что его функциональность похожа на ту, которую мы изучали в этом уроке.
Строка меню
Панель меню находится в верхней части окна. Меню по умолчанию, которые вы можете найти в этом —
-
Файл — Действия, связанные с файлами и каталогами.
-
Редактировать — Действия, связанные с редактированием документов и другими действиями.
-
Вид — действия, которые изменяют внешний вид JupyterLab.
-
Выполнить — действия для запуска кода в различных действиях, таких как записные книжки и консоли кода.
-
Ядро — Действия для управления ядрами, которые являются отдельными процессами для запуска кода.
-
Вкладки — список открытых документов и действий на панели док-станции.
-
Настройки — Общие настройки и расширенный редактор настроек.
-
Справка — список ссылок на JupyterLab и справку ядра.
Файл — Действия, связанные с файлами и каталогами.
Редактировать — Действия, связанные с редактированием документов и другими действиями.
Вид — действия, которые изменяют внешний вид JupyterLab.
Выполнить — действия для запуска кода в различных действиях, таких как записные книжки и консоли кода.
Ядро — Действия для управления ядрами, которые являются отдельными процессами для запуска кода.
Вкладки — список открытых документов и действий на панели док-станции.
Настройки — Общие настройки и расширенный редактор настроек.
Справка — список ссылок на JupyterLab и справку ядра.
На левой боковой панели отображаются кнопки для запуска нового модуля запуска, добавления папки, загрузки файла и обновления списка файлов. Правая панель — это основная рабочая область, где ноутбук, консоль и терминалы отображаются в виде вкладок.
Чтобы запустить новую консоль, нажмите значок + на левой боковой панели, чтобы открыть новый модуль запуска, а затем выберите параметр консоли. Консоль откроется в новой вкладке на правой панели.
Обратите внимание, что входная ячейка находится внизу, но когда она запускается, ячейка и соответствующая выходная ячейка отображаются в верхней части вкладки консоли.
Панель запуска также позволяет открывать текстовый редактор и терминал, в котором можно вызывать оболочку IPython.
JupyterLab — Установка ядра R
Project Jupyter теперь поддерживает ядра сред программирования. Теперь посмотрим, как установить ядро R в дистрибутив anaconda.
В окне приглашения Anaconda введите следующую команду —
conda install -c r r-essentials
Теперь на вкладке запуска выберите R kernel, чтобы запустить новую записную книжку.
Ниже приведен скриншот ноутбука Jupyter с ядром R —