Nástroje

Pro Python existuje mnoho nástrojů, vývojových prostředí, editorů apod. Zmíníme některé z nich.

Instace Pythonu

Linux

  1. V Linuxu je Python součástí většiny distribucí. To má svá pro a proti.
    • Jednoduchá instalace
    • Aktualizace závislá na systému
    • Některé moduly je třeba instalovat ručně
  2. Python můžeme zkompilovat ze zdrojových kódů
    • Možnost detailního nastavení
    • Dodatečné balíky nekolidují se systémovými
    • Trochu složitější instalace
  3. Binární distribuce

Windows

  1. Nejjednodušší jsou binární distribuce
  2. Python můžeme samozřejmě i zkompilovat.

Dodatečné moduly pro Python

Python je od začátku navržen pro rozšiřování pomocí modulů. Samotný Python již obsahuje bohatou standardní knihovnu modulů. Další moduly lze najít na PyPI - the Python Package Index. Instalace modulů je zevrubně popsaná na http://docs.python.org/2/install/index.html. Ve zkratce, moduly, které používají distutils (což by měly být v podstatě všechny), obsahují soubor setup.py a instalují se příkazem

 python setup.py install

Užitečným nástrojem je pip, který při instalaci moduly automaticky stahuje, včetně případných závislostí. Virtualenv (nejlépe v kombinaci s virtualenvwrapper) nám pak pomůže vybudovat vlastní Python prostředí, včetně instalace modulů do vlastního adresáře. Tato instalace jednak nekoliduje s centrální instalací (která může být na úrovni OS) a také umožňuje odděleně testovat nové verze balíků apod. Anaconda umožňuje vytvářet virtuální prostředí pomocí conda create. (Toho můžete využít na Linuxu KFE.)

IPython

IPython je především pokročilý interaktivní shell pro příkazovou řádku. Budeme ho používat během tohoto kurzu. Prochází velmi aktivním vývojem, takže v současné době obsahuje další užitečné komponenty, jakými jsou Qt konzole, možnost jednoduchých paralelních výpočtů a také IPython Notebook, ve kterém je psaný tento text.

IPython Qt Console

Podívejte se na prezentaci SciPy 2013 Keynote: Fernando Perez: IPython: the method behind the madness.

In [1]:
import IPython.display
IPython.display.YouTubeVideo('j9YpkSX7NNM')
Out[1]:

IPython Notebook

Notebook je v podstatě web aplikace pro interaktivní práci s Pythonem (který je spuštěn na pozadí v samostatném procesu). Díky webu je možné použít, na rozdíl od konzole, bohaté grafiky pro zobrazení grafů, matematických vzorců apod., lepší interaktivity (java script) atd.

IPython Notebook byl použit pro tyto materiály. Všechny ukázky kódu jsou spouštěny interaktivně při vytváření materiálů, výstup je tedy vždy autentický a reprodukovatelný. Finální podobu těmto stránkám dává systém Nikola, který využívá konverzi notebooku do html (ipython nbconvert). V pravém horním rohu naleznete tlačítko Source, které vám umožňuje stáhnout původní notebook, který si pak sami můžete spouštět.

Spuštění IPythonu

IPython / Qt Console / Notebook spustíme těmito příkazy:

  • ipython
  • ipython qtconsole
  • ipython notebook

Editory

Výběru a konfiguraci editoru pro programování v Pythonu je třeba věnovat pozornost. Obecně je editor pro programátora prodloužená ruka. Python navíc vyžaduje, jak uvidíme později, správně odsazovat funkční bloky, což klade o něco větší nároky na správné a konzistentní nastavení editoru/ů. Mezi editory, které Python podporují, patří

  • Sublime Text 3 -- vřele doporučujeme
  • Atom -- "A hackable text editor for the 21st Century"
  • Notepad++ (ve Windows), Gedit (v Gnome), Kate (v KDE), Vim či Emacs (unixová konzole) také obsahují minimálně zvýraznění syntaxe
  • Mnoho dalších možností najdete na http://wiki.python.org/moin/PythonEditors

Integrovaná vývojová prostředí (IDE)

Další užitečné nástroje

  • pep8 zkntroluje správný styl
  • pylint udělá statickou analýzu kódu -- najde např. syntaktické chyby
  • flake8 kombinuje pep8, PyFlakes aj.
  • YAPF, autopep8 nebo autoflake pomůže chyby napravit.

Komentáře

Comments powered by Disqus