Jupyter Notebook #

Užitečný nástroj, který vědcům a datovým analytikům ulehčuje práci, se jmenuje Jupyter Notebook. Je to webová verze pythonní konzole, kde můžeme psát příkazy a kontrolovat výstup.

Na rozdíl od klasické konzole se v Notebooku příkazy (a jejich výstup) ukládají, a je tedy jednoduché se k nim vracet, upravovat je a přidávat komentáře. Mezi příkazy se pak dá psát text ve značkovacím jazyce Markdown, a plynule tak přecházet od pokusů a poznámek přes kód, který se dá sdílet, až po slajdy k prezentaci nebo dokonce publikovatelnou vědeckou práci (na což už jsou ale potřeba další nástroje). V Jupyter Notebooku jsou psány i tyto materiály.

Samotný Jupyter je napsaný v Pythonu, ale podporuje i jiné jazyky. Název pochází z JUlia, PYThon, R; kromě nich existují kernely pro desítky dalších jazyků. Pro pythonní verzi stačí z PyPI nainstalovat balíček notebook (nebo jupyter, který „přitáhne” víc funkcionality).

Před instalací ale doporučuji aktualizovat samotný pip. (Virtuální prostředí bývají občas vytvářena s verzí pipu, která neumí pracovat s wheels – binárním formátem, ze kterého se instaluje mnohem rychleji než ze zdrojového kódu.)

$ python -m pip install --upgrade pip wheel
$ python -m pip install notebook

Tato instalace v některých případech vyžaduje nainstalované překladače jazyků jako C. Na školních systémech by měly být nainstalovány; v Linuxových distribucích jsou potřeba balíčky jako gcc a python3-devel. Kdyby se instalace nepovedla, potřebná závislost lze většinou dohledat pomocí chybových hlášek.

Nainstalovaný Notebook pusťte pomocí:

$ python -m notebook

V prohlížeči se otevře stránka se seznamem souborů v aktuálním adresáři; nový notebook se dá vytvořit přes tlačítko NewPython 3.

Jak na Notebook #

Nově vytvořený notebook má jednu buňku (cell), do které zapište kód a stiskněte Shift+Enter. Tím se kód vykoná, zobrazí se výstup a vytvoří se nová buňka, kam se dá psát další kód.

Kód se spouští pomocí Shift+Enter (a podobných příkazů); nezáleží na pořadí buněk v dokumentu. Je ale dobré psát buňky tak, aby při postupném spouštění (nebo Run All z menu Cell) kód fungoval – např. dávat importy na začátek.

Notebook je založený na konzoli IPython, která přidává některé vychytávky: doplňování pomocí tab, spouštění shellových příkazů pomocí ! nebo zobrazení nápovědy pomocí zadání ? za výrazem. Vyzkoušejte např.:

str.l<TAB>
! ls -a<SHIFT+ENTER>
str.lower?<SHIFT+ENTER>

Kód v buňce může být víceřádkový. Je-li poslední příkaz v buňce výrazem, jeho hodnota se vypíše jako výsledek buňky:

In [2]:
1+1  # Nevypíše se (není poslední příkaz)
2+2  # Vypíše se
Out[2]:
4
In [3]:
seznam = [5, 6, 3, 2]
print(seznam)  # print() funguje
seznam.sort()
seznam         # Poslední výraz se vypíše
[5, 6, 3, 2]
Out[3]:
[2, 3, 5, 6]

Další možnosti, jako např. změna typu buňky na Markdown, jsou dostupné z menu nebo klávesovými zkratkami.