4. Nástroje#

Pro Python existuje mnoho nástrojů, vývojových prostředí, editorů apod. Některé si doporučíme, jiné alespoň zmíníme.

4.1. Doporučená sada nástrojů#

1. Python distribuce#

Raději se vyhněte systémové distribuci a použijte pro svě projekty binární distribuci Anaconda:

  • Jednoduchá instalace

  • Nekoliduje s operačním systémem

  • Správa závislostí, včetně binárních knihoven

  • Pro Linux / Windows / MacOS

2. Editor / vývojové prostředí#

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/ů. Tady si uvedeme tři doporučené a hojně používané možnosti:

  • Visual Studion Code – Editor s výbornými rozšířeními pro Python

  • PyCharm – “The Most Intelligent Python IDE”

  • Jupyter – Notebook / Lab pro kombinování kódu, textu, grafiky a interaktivity ve web prostředí. Budeme používat v tomu kurzu :)

  • Spyder - Vývojové prostředí inspirované Malabem, zaměřené na práci s daty a vědecké použití.

3. Pomocníci#

Minimálně tyto nástroje byste měli znát – výrazně vám usnadní práci!

  • black – “The uncompromising code formatter” za vás dodržuje správné formátování (PEP8)

  • flake8 – najde spoustu chyb v kódu

4.2. 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.

Anaconda#

V Anaconda distribuci slouží ke správě komponent (balíčků) conda. Balíčky lze hledat na https://anaconda.org/. Základní příkaz je

conda install SomePackage

Pip#

Instalace modulů pro “standartní” Python je popsaná na https://docs.python.org/3/installing/index.html. Ve zkratce, měl by se používat pip

 python -m pip install SomePackage

4.3. Virtuální prostředí#

Virtuální prostředí se hodí pro oddělení různých verzí (i Pythonu samotného) a kombinací balíčků pro různé projekty. Svět není dokonalý, ani ten Pythonovský, takže může docházet k různým kolizím, projekty mohou vyžadovat specifickou verzi Pythonu, balíků apod.

Anaconda#

conda umí spravovat virtuální prostředí: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html

Venv#

Pokud nepoužijeme conda tak https://docs.python.org/3/library/venv.html, případně v kombinaci s virtualenvwrapper.

4.4. Další užitečné nástroje#

Python ekosystém je bohatý, je snadné se na začátku (a vlastně kdykoli :) ztratit. Podívejte se např. jak se vyvíjel IPython, později Jupyter: SciPy 2013 Keynote: Fernando Perez: IPython: the method behind the madness.

import IPython.display
IPython.display.YouTubeVideo('j9YpkSX7NNM')

Některé další editory a IDE#