IPython Notebook
Как установить и что с ним потом делать
IPython Notebook - это интерактивная среда для программирования на языке python. Она позволяет объединить код, текст (включая Markdown), графики, математические формулы (MathJax) и скомбинировать все в одном отчете. Отчет можно конвертировать в html, LaTeX, pdf и другие форматы.
Удобный инструмент для исследований, заметок, конспектов и тому подобного. Многие статьи и учебные материалы распространяются в виде ноутбуков.
Установка
1 способ
Самым простым способом установки является использование python дистрибутива Anaconda, содержащего более 300 научных python пакетов, включая Ipython.
2 способ
Для установки на *nix системах
pip install ipython[all]
Для установки на windows необходимо последовательно установить:
Запуск
Для запуска ноутбука необходимо в терминале выбрать директорию, где будут храниться заметки и воспользоваться командой
ipython notebook
На 8888
порту будет запущен локальный сервер и в браузере откроется страница с ноутбуком.
Использование
Новый документ можно создать с помощью выпадающего меню.
После чего будет создан новый, пустой документ. Переименовать документ можно нажав на строку Untitled, либо через меню File->Rename.
Документ сохраняется автоматически и правильно понимает сочетание Ctrl-S.
Код в Ipython документах организован в ячейки (cells
). По нажатии Ctrl-Enter код в ячейке выполняется и результат вычислений отображается под ней.
Ячейка может относиться к одному из нескольких типов. Выбрать тип ячейки можно используя пункт меню Cell->Cell Type.
Code cell
Позволяет писать и редактировать код с подсветкой синтаксиса и автоподстановкой (Tab). После добавления директивы
%matplotlib inline
в начале ячейки, появляется возможность строить графики прямо в документе.
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
img=mpimg.imread('city.jpg')
print "Image size: {0}".format(img.shape)
# Select green channel
img_green = img[:,:,1]
plt.imshow(img_green, cmap="Greys_r")
plt.show()
# Plot green channel row intensity
plt.plot(img_green[150, :])
plt.show()
Markdown cell
Ячейки для документирования, позволяют использовать Markdown синтаксис и математические формулы MathJax.
### H3 title for the text ###
TODO List:
1. Create note about IPython notebook.
2. Add part about Markdown.
3. Do not forget about MathJax.
4. Add table in the end.
<h4>An Identity of Ramanujan</h4>
$$ \frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } } $$
#### Simple table
| Tables | True | False |
| ------ |:-----:| -----:|
| True | 78 | 14 |
| False | 3 | 45 |
Raw cell
Эти ячейки служат для хранения дополнительной информации, никак не исполняются и не модифицируются. Например в них можно хранить LaTeX для статьи.
Конвертация notebook-a в другие форматы
Конвертировать ноутбук можно командой
ipython nbconvert --to FORMAT notebook.ipynb
Допустимые форматы:
--to html
- статическая html страница--to latex
- LaTeX--to slides
- Reveal.js html слайдшоу--to markdown
- Markdown, код будет экранирован--to rst
- формат для Sphinx docs--to python
- python скрипт.
Комбинации клавиш
Esc
- командный режим (создание, удаление, перемещение ячеек)Enter
- режим редактирования (изменение содержимого ячейки)Ctrl-Enter
- выполнить код в ячейкеShift-Enter
- выполнить код в ячейке и перейти к следующейAlt-Enter
- выполнить код в ячейке и вставить ячейку снизуCtrl-M
- прервать исполнениеA
- вставить ячейку вышеB
- вставить ячейку нижеK
- выбрать предыдущую ячейкуJ
- выбрать следующую ячейкуD,D
- удалить ячейкуY
- в code cellM
- в markdown cellR
- в raw cell