{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Pro Python existuje mnoho nástrojů, vývojových prostředí, editorů apod. Některé si doporučíme, jiné alespoň zmíníme.\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Doporučená sada nástrojů\n", "\n", "### 1. Python distribuce\n", "Raději se vyhněte systémové distribuci a použijte pro svě projekty binární distribuci [Anaconda](https://www.anaconda.com):\n", "* Jednoduchá instalace \n", "* Nekoliduje s operačním systémem\n", "* Správa závislostí, včetně binárních knihoven\n", "* Pro Linux / Windows / MacOS\n", " \n", "### 2. Editor / vývojové prostředí\n", "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/ů. \n", "Tady si uvedeme tři doporučené a hojně používané možnosti:\n", "\n", "* [Visual Studion Code](https://code.visualstudio.com) -- Editor s výbornými rozšířeními pro Python\n", "* [PyCharm](https://www.jetbrains.com/pycharm/) -- \"The Most Intelligent Python IDE\"\n", "* [Jupyter](https://jupyter.org/) -- Notebook / Lab pro kombinování kódu, textu, grafiky a interaktivity ve web prostředí. **Budeme používat v tomu kurzu :)**\n", "* [Spyder](https://www.spyder-ide.org/) - Vývojové prostředí inspirované Malabem, zaměřené na práci s daty a vědecké použití. \n", "\n", "### 3. Pomocníci\n", "Minimálně tyto nástroje byste měli znát -- výrazně vám usnadní práci!\n", "* [black](https://black.readthedocs.io/en/stable/) -- \"The uncompromising code formatter\" za vás dodržuje správné formátování ([PEP8](http://pep8.org/))\n", "* [flake8](https://pypi.python.org/pypi/flake8) -- najde spoustu chyb v kódu\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dodatečné moduly pro Python\n", "Python je od začátku navržen pro rozšiřování pomocí modulů. Samotný Python již obsahuje bohatou [standardní knihovnu modulů](http://docs.python.org/2/library/index.html). Další moduly lze najít na [PyPI - the Python Package Index](https://pypi.python.org/pypi).\n", "\n", "### Anaconda\n", "V `Anaconda` distribuci slouží ke správě komponent (balíčků) [`conda`](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html). Balíčky lze hledat na https://anaconda.org/. Základní příkaz je\n", "\n", " conda install SomePackage\n", "\n", "### Pip\n", "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`\n", "\n", " python -m pip install SomePackage\n", "\n", "\n", "## Virtuální prostředí\n", "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.\n", "\n", "### Anaconda\n", "`conda` umí spravovat virtuální prostředí: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html\n", "\n", "### Venv\n", "Pokud nepoužijeme `conda` tak https://docs.python.org/3/library/venv.html, případně v kombinaci s [virtualenvwrapper](https://pypi.python.org/pypi/virtualenvwrapper)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Další užitečné nástroje\n", "\n", "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*.\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import IPython.display\n", "IPython.display.YouTubeVideo('j9YpkSX7NNM')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Některé další editory a IDE\n", "\n", "* [Spyder](https://code.google.com/p/spyderlib/) - zaměřeno na numeriku, inspirováno Matlabem\n", "* [Atom](https://atom.io/)\n", "* [Sublime Text 3](http://www.sublimetext.com/3)\n", "* Notepad++ (ve Windows), Gedit (v Gnome), Kate (v KDE), Vim či Emacs také obsahují minimálně zvýraznění syntaxe\n", "* Další viz http://wiki.python.org/moin/IntegratedDevelopmentEnvironments a http://wiki.python.org/moin/PythonEditors" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }