Содержание
- Содержание
- Windows
- Mac OS X и Linux
- Установка Jupyter Notebook
- Запускаем Jupyter Notebook
- Работа в Jupyter Notebook
- Обучение работе с Jupyter Notebook
- Установка и запуск
- Примеры работы
- Основные элементы интерфейса Jupyter notebook
- Запуск и прерывание выполнения кода
- Как сделать ноутбук доступным для других людей?
- Вывод изображений в ноутбуке
- Магия
- P.S.
Содержание
Windows
Установка готового пакета
Можно отдельно установить Python и все необходимые библиотеки и надстройки, однако это слишком долго. Поэтому воспользуемся уже собранным пакетом Python(X,Y).
- Загрузим Python(X,Y): страница загрузки, из раздела Current release.
- Установим его, причем обязательно не забыв поставить галочку для установки всех плагинов в Python(X,Y).
- Все готово.
По непонятным причинам в некоторых случаях установка происходит довольно криво. Попробуйте выполнить следующие команды в своем Python:
Юнит-тесты могут сразу показать, все ли хорошо. Аналогично их стоит запустить для библиотек pandas, pylab, sklearn. Если вдруг вываливается ошибка, то можно попробовать установить Python и библиотеки другим способом.
Установку вручную
Минимальный набор для работы:
- Python 2.7
- IPython Notebook
- NumPy
- Matplotlib
- Pandas
- SciKit-Learn
Лучше ставить 32-битные версии, поскольку 64-битные не всегда работают корректно под Windows. Обратите внимание, что некоторые библиотеки будут иметь дополнительные зависимости в виде других библиотек, их тоже придется поставить.
Запуск IPython Notebook
Попробуем запустить IPython Notebook. Для этого запустим командную строку (нажать win+R и ввести cmd), и введем ipython notebook —pylab inline. Должен открыться браузер с запущенным из текущей директории IPython Notebook. Все ноутбуки будут сохраняться в текущую директорию, из которой был вызван IPython Notebook.
Mac OS X и Linux
Mac OS
Установка Python через brew
официального сайта Если у вас нет питона, то придется поставить brew с вытекающей от туда установкой Xcode. Следуйте указаниям с сайта Homebrew и у вас все получится. Устанавливаем свежую версию Python и virtualenv:
Устанавливаем фортран (нужен для сборки NumPy и SciPy):
Создаем виртуальное окружение:
Устанавливаем необходимые пакеты питона:
Ручная установка Python
Можно попробовать поставить все вручную, список необходимых библиотек см. в разделе для Windows.
Сторонний туториал
Linux
Для сохранения здоровья, используйте Ubuntu 12.04 LTS или выше. Устанавливаем необходимые тулзы для Python:
Устанавливаем пакеты, необходимые для сборки NumPy, SciPy и Matplotlib:
Создаем виртуальное окружение питона (virtualenv).
Ставим необходимые для курса пакеты:
Почему не сделать apt-get install Вы можете сделать что-то вроде
и установить питоновские пакеты в систему из репозитория Debian. Однако, пакеты debian содержат достаточно старые версии python-пакетов (к примеру, IPython Notebook у вас будет значительно менее модный). Свежие версии загружаются утилитой pip из репозитория PyPI.
Запуск IPython Notebook
Для того, чтобы графики встраивались в отчёт, а не открывались в отдельном окне, IPython Notebook нужно запускать следующим образом:
Либо в уже запущенном Notebook выполнить
Использование virtualenv
virtualenv позволяет заключить в отдельный каталог необходимые версии python-пакетов и использовать только их. Используя virtualenv, Вы можете устанавливать свежие версии пакетов из Python Package Index, при этом не получить проблем с несовместимостью версий пакетов с установленными в системе. Нормальным решением также является установка python-пакетов через pip в системные каталоги. Для этого не нужно ничего с virtualenv, но запускать pip при этом следует от рута:
Но напоминаем, пакеты могут конфликтовать с системными, может фейлиться сборка, могут импортироваться старые версии и возникать другие проблемы. Для создания виртуального окружения необходимо сказать
при этом будет создан каталог yourenv с чистым окружением без каких либо пакетов. Для использования виртуального окружения можно использовать команды из соответствующего каталога:
Для того чтобы не говорить префикс yourenv/bin, удобно в текущей сесии командной строки выставить необходимые переменные окружения (активировать виртуальное окружение):
После активации, у приглашения командной строки появится префикс (yourenv). Для того, чтобы деактивировать виртуальное окружение, необходимо сказать
Jupyter Notebook — популярнейшая бесплатная интерактивная оболочка для языка программирования Python, позволяющая объединить код, текст и диаграммы, и распространять их для других пользователей.
Раньше она называлась IPython Notebook, но название сменили, чтобы подчеркнуть совместимость не только с Python, но и другими языками программирования.
Это крайне удобный инструмент для проведения экспериментов (как чисто математических, так и связанных с обработкой данных от приборов) и оформления результатов в виде профессиональных научных статей. А вообще человечество нашло ему бесчисленные применения — от дизайна электронных схем до обработки астрономических фотографий.
Существует несколько вариантов использования Jupyter онлайн, без установки программ. Но они либо платные, либо медленные и имеют весьма ограниченные возможности. Самый простой вариант находится здесь.
Поэтому лучше всего установить Jupyter на свой компьютер и ни от кого в этом плане не зависеть.
Тем более, что это просто. Добрые люди из фирмы Continuum Analytics собрали Python, Jupyter (и более 400 математических, научных, инженерных и аналитических расширений для них) в один пакет, называемый Anaconda.
Установка Jupyter Notebook
Скачайте и установите всё необходимое одним файлом по ссылке для своей операционной системы:
Запускаем Jupyter Notebook
После обыкновенного процесса установки в меню Программы должна появиться папка Anaconda и в ней ряд интересных вещей. Можете поразбиратсья с ними самостоятельно, а нас сейчас интересует только IPython (Py 3.4) Notebook.
При нажатии на нее происходит две вещи:
- Появляется небольшое окошко с черным фоном
- Открывается окно браузера примерно такого содержания:
Чёрное окошко это сама программа, которая проводит все вычисления. На него, в принципе, можно не обращать внимания. Однако если его закрыть, то Jupyter не будет работать. Так что можно его свернуть или просто оставить на заднем плане.
А в браузере мы видим систему навигации по файлам и папкам. Тут всё интуитивно понятно. Давайте создадим свой файл. Для этого справа вверху нажмите кнопку New.
Здесь можно создать текстовые файлы (Text File), папки (Folder) и, самое интересное: тетради (Notebooks). У нас по умолчанию установлен язык програмирования Python 3, поэтому можно создать только такую тетрадь. Если Вы программируете на разных языках, то можете настроить систему так, чтобы выбирать нужный в данный момент язык.
Итак, выбираем Python 3.
В браузере открывается новая вкладка. Это и есть наша новая чистая тетрадь. Вверху расположены разнообразные элементы управления, а зеленым выделена единственная пока ячейка.
Да, тетради здесь состоят из ячеек. Это очень удобно. Настолько удобно, что люди, как правило, перестают пользоваться текстовыми редакторами типа Word и пишут в этих тетрадках не только программы, но и всё подряд — от книг до научных статей. Собственно, все материалы проекта OpenFabLab написаны именно так.
Работа в Jupyter Notebook
Давайте что-нибудь напишем в нашей ячейке. Ну, хоть что нибудь. Например, 2+2
Теперь для запуска кода на исполнение нажмите вот такую кнопку:
И получите результат:
Внизу нашей ячейки появилось поле с результатом. Кроме того, вы видите метки In[1] и Out[1]. Эти метки, как мы ещё увидим, позволяют использовать содержимое ячеек в дальнейших вычислениях.
А ещё возникла новая ячейка — для новых задач. Можно задать здесь что-то новое, а можно отредактировать программный код в старой ячейке и запустить ее заново.
Ну, например, давайте узнаем чему равно 1234 56789 . В языке Python умножение обозначается знаком звездочки: *, а возведение в степень — двойной звездочкой: **
После того, как я набрал это выражение и запустил его, опять возникла новая ячейка. Но вместо ответа слева от задания появилась метка со звездочкой: In[*]
Это значит, что программа находится в процессе вычислений. Ну это логично — выражение мы задали не самое простое.
А через несколько секунд появился результат. Содержащий сотни тысяч цифр! Они, конечно, не уместились на экран и поэтому справа видна полоса прокрутки для пролистывания ответа.
Вы можете самостоятельно поразбираться в назначении различных кнопок и пунктов меню. Все они, пожалуй, интуитивно понятны. Единственное, что я обнаружил случайно — это удобное переименование файла путем клика по его названию (название отображается рядом с логотипом Jupyter, для новых файлов это обычно что-то вроде Untitled1).
Файлы тетрадей хранятся с расширением .ipynb и представляют собой набор данных в формате JSON. Это довольно удобно для их машинной обработки в сети.
Обучение работе с Jupyter Notebook
Объем интересной информации, приемов, советов и инструкций по работе с Jupyter Notebook соответствует почти безграничным возможностям языка Python, помноженным на колективный разум огромного сообщества разработчиков и пользователей Jupyter. Это делает нереальным и неэффективным описание их в какой-либо одной статье или справочнике.
Поэтому мы рекомендуем использовать механизм интерактивного онлайн-курса OpenFabLab для пошагового и, в то же время, целенаправленного знакомства с возможностями этого мощного инструмента.
Установите Jupyter Notebook и начните с задачи № 163, а потом система сама будет предлагать новые задания, учитывая уже полученные вами знания.
Другие статьи сайта Научно-технический онлайн-курс Научно-технический конструктор
IPython представляет собой мощный инструмент для работы с языком Python. Базовые компоненты IPython – это интерактивная оболочка для с широким набором возможностей и ядро для Jupyter. Jupyter notebook является графической веб-оболочкой для IPython, которая расширяет идею консольного подхода к интерактивным вычислениям.
Основные отличительные особенности данной платформы – это комплексная интроспекция объектов, сохранение истории ввода на протяжении всех сеансов, кэширование выходных результатов, расширяемая система “магических” команд, логирование сессии, дополнительный командный синтаксис, подсветка кода, доступ к системной оболочке, стыковка с pdb отладчиком и Python профайлером.
IPython позволяет подключаться множеству клиентов к одному вычислительному ядру и, благодаря своей архитектуре, может работать в параллельном кластере.
В Jupyter notebook вы можете разрабатывать, документировать и выполнять приложения на языке Python, он состоит из двух компонентов: веб-приложение, запускаемое в браузере, и ноутбуки – файлы, в которых можно работать с исходным кодом программы, запускать его, вводить и выводить данные и т.п.
Веб приложение позволяет:
- редактировать Python код в браузере, с подсветкой синтаксиса, автоотступами и автодополнением;
- запускать код в браузере;
- отображать результаты вычислений с медиа представлением (схемы, графики);
- работать с языком разметки Markdown и LaTeX.
Ноутбуки – это файлы, в которых сохраняются исходный код, входные и выходные данные, полученные в рамках сессии. Фактически, он является записью вашей работы, но при этом позволяет заново выполнить код, присутствующий на нем. Ноутбуки можно экспортировать в форматы PDF, HTML.
Установка и запуск
Jupyter Notebook входит в состав Anaconda. Описание процесса установки можно найти в первом уроке. Для запуска Jupyter Notebook перейдите в папку Scripts (она находится внутри каталога, в котором установлена Anaconda) и в командной строке наберите:
В результате будет запущена оболочка в браузере.

Примеры работы
Будем следовать правилу: лучше один раз увидеть… Рассмотрим несколько примеров, выполнив которые, вы сразу поймете принцип работы с Jupyter notebook.
Запустите Jupyter notebook и создайте папку для наших примеров, для этого нажмите на New в правой части экрана и выберите в выпадающем списке Folder.

По умолчанию папке присваивается имя “Untitled folder”, переименуем ее в “notebooks”: поставьте галочку напротив имени папки и нажмите на кнопку “Rename”.

Зайдите в эту папку и создайте в ней ноутбук, воспользовавшись той же кнопкой New, только на этот раз нужно выбрать “Python [Root]”.

В результате будет создан ноутбук.
.
Код на языке Python или текст в нотации Markdown нужно вводить в ячейки:

Если это код Python, то на панели инструментов нужно выставить свойство “Code”.

Если это Markdown текст – выставить “Markdown”.

Для начал решим простую арифметическую задачу: выставите свойство “Code”, введите в ячейке “2 + 3” без кавычек и нажмите Ctrl+Enter или Shift+Enter, в первом случае введенный вами код будет выполнен интерпретатором Python, во втором – будет выполнен код и создана новая ячейка, которая расположится уровнем ниже так, как показано на рисунке.

Если у вас получилось это сделать, выполните еще несколько примеров.

Основные элементы интерфейса Jupyter notebook
У каждого ноутбука есть имя, оно отображается в верхней части экрана. Для изменения имени нажмите на его текущее имя и введите новое.

Из элементов интерфейса можно выделить, панель меню:
![]()

и рабочее поле с ячейками:

Ноутбук может находиться в одном из двух режимов – это режим правки (Edit mode) и командный режим (Command mode). Текущий режим отображается на панели меню в правой части, в режиме правки появляется изображение карандаша, отсутствие этой иконки значит, что ноутбук находится в командном режиме.

Для открытия справки по сочетаниям клавиш нажмите “Help->Keyboard Shortcuts”

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

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

Запуск и прерывание выполнения кода
Если ваша программа зависла, то можно прервать ее выполнение выбрав на панели меню пункт Kernel -> Interrupt.
Для добавления новой ячейки используйте Insert->Insert Cell Above и Insert->Insert Cell Below.
Для запуска ячейки используете команды из меню Cell, либо следующие сочетания клавиш:
Ctrl+Enter – выполнить содержимое ячейки.
Shift+Enter – выполнить содержимое ячейки и перейти на ячейку ниже.
Alt+Enter – выполнить содержимое ячейки и вставить новую ячейку ниже.
Как сделать ноутбук доступным для других людей?
Существует несколько способов поделиться своим ноутбуком с другими людьми, причем так, чтобы им было удобно с ним работать:
- передать непосредственно файл ноутбука, имеющий расширение “.ipynb”, при этом открыть его можно только с помощью Jupyter Notebook;
- сконвертировать ноутбук в html;
- использовать https://gist.github.com/ ;
- использовать http://nbviewer.jupyter.org/.
Вывод изображений в ноутбуке
Печать изображений может пригодиться в том случае, если вы используете библиотеку matplotlib для построения графиков. По умолчанию, графики не выводятся в рабочее поле ноутбука. Для того, чтобы графики отображались, необходимо ввести и выполнить следующую команду:
%matplotlib inline
Пример вывода графика представлен на рисунке ниже.

Магия
Важной частью функционала Jupyter Notebook является поддержка магии. Под магией в IPython понимаются дополнительные команды, выполняемые в рамках оболочки, которые облегчают процесс разработки и расширяют ваши возможности. Список доступных магических команд можно получить с помощью команды
%lsmagic

Для работы с переменными окружения используется команда %env.

Запуск Python кода из “.py” файлов, а также из других ноутбуков – файлов с расширением “.ipynb”, осуществляется с помощью команды %run.

Для измерения времени работы кода используйте %%time и %timeit.
%%time позволяет получить информацию о времени работы кода в рамках одной ячейки.

%timeit запускает переданный ей код 100000 раз (по умолчанию) и выводит информацию среднем значении трех наиболее быстрых прогонах.

Информацию по остальным магическим командам можете найти здесь:
Интересные примеры ноутбуков, в которых довольно полно раскрыты возможности Jupyter Notebook можно найти в ресурсах, перечисленных ниже.
P.S.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”. 






