.. role:: python(code) :language: python :class: highlight ************ Installation ************ Développer des programmes en Python nécessite d'installer : - le langage proprement dit ; - et un environnement de développement. Le langage ========== Python est un langage dit "OS agnostic", ce qui signifie que dans la très grande majorité des cas, les programmes fonctionneront aussi bien sous Windows que sous Linux ou MacOS. Une couche d'abstraction permet de communiquer avec le système d'exploitation avec la même syntaxe. En particulier pour ce qui concerne la gestion des fichiers, malgré des conventions différentes. Le langage proprement dit ------------------------- .. important:: Il est recommandé de désinstaller toutes les versions précédentes du langage avant d'installer la dernière version disponible. `Python `__ est disponible sur toutes les plateformes (Windows, Linux, MacOS). On choisira la dernière version disponible. La procédure d'installation est illustrée avec Windows 10. Pour Linux et MacOS, se reporter au paragraphe correspondant. .. warning:: Lors de l'installation, cocher impérativement "Add python.exe to PATH". .. image:: ../images/02-add_to_path.png Pour vérifier l'installation, dans un terminal :: $ python --version Python 3.12.8 .. note:: Le numéro de version peut varier. Les packages ------------ Le langage contient par défaut une grande quantités de packages que l'on peut utiliser pour apporter une solution élégante et rapide à un problème donné. Il existe toutefois des situations pour lesquelles on a besoin de faire appel à des bibliothèques tierces. Lorsque les packages nécessaires ne font pas partie de la distribution, on les installe depuis le terminal. On utilise le package `pip `_, l'installateur de package de Python. **A titre d'exemple (le package ne sera pas utilisé dans ce cours)**, pour installer `selenium `_ :: $ python -m pip install selenium Collecting selenium Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB) |████████████████████████████████| 904 kB 3.3 MB/s Requirement already satisfied: urllib3 in c:\python39\lib\site-packages (from selenium) (1.26.2) Installing collected packages: selenium Successfully installed selenium-3.141.0 Si l'installation s'est correctement déroulée, l'importation du module doit être possible:: $ python Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import selenium >>> Linux/MacOS ----------- Le langage Python est déjà installé sur ce type de machine, mais il s'agit de :command:`python 2.7`, une version très ancienne du langage, conservée pour des raisons de compatibilité avec l'environnement existant. Dans un terminal, vous devrez donc utiliser exclusivement la commande :command:`python3` :: $ python3 Python 3.7.5 (default, Nov 7 2019, 10:50:52) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> Généralement les distributions Linux n'incluent pas la dernière version stable. Utilisez la documentation de votre distribution pour installer une version plus récente; Par exemple pour les distribution de type Debian-like :: $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt-get install python3.x Pour installer des packages additionnels, La procédure est similaire à celle décrite pour Windows 10:: $ python3 -m pip install selenium Collecting selenium [...] Installing collected packages: selenium Successfully installed selenium-3.141.0 $ Si l'installation s'est correctement déroulée, l'importation du module doit être possible:: $ python3 Python 3.7.5 (default, Nov 7 2019, 10:50:52) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import selenium >>> Les premiers pas ================ Python permet une utilisation interactive avec un mécanisme appelé `REPL (read–eval–print loop) `_ qui facilite l'exploration du langage et le déboguage et l'accélère par rapport au cycle edit-compile-run que l'on connaît en C ou en Java. Le fonctionnement est très similaire dans Windows d'une part, et Linux et MacOS d'autre part. Seul l'exécutable diffère. Windows ------- Ouvrir un terminal avec la commande :kbd:`Win+R+cmd` puis lancer l'interpréteur :command:`python` :: $ python Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> On observe 2 informations essentielles: - la version de l'interpréteur Python (ici 3.9.5) ; - le prompt (invite de commande) spécial de Python constitué de 3 chevrons ``>>>``. Par la suite le prompt nous renseignera sur le fait que les commandes sont destinées à l'OS (Windows/Linux) ou à l'interpréteur Python. L'exécution de la commande :func:`print` produit directement l'affichage dans le terminal:: >>> print('Hello world!') Hello world! Linux et MacOS -------------- Dans un terminal on utilise l'exécutable :command:`python3` :: $ python3 Python 3.9.5 (default, May 3 2021, 17:27:52) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> La commande :func:`print` produit le même résultat:: >>> print('Hello world!') Hello world! L'environnement de développement ================================ Le terminal utilisé jusque là n'est pas suffisant pour produire un programme. En version minimale, il faut également un éditeur de texte. Mais il existe des solutions plus adaptées pour écrire un code fonctionnel, bien formatté : les environnements de développement. `VS Code `_ est un environnement de développement adapté pour l'apprentissage de la programmation. Son côté évolutif en fait un outil performant également pour les développeurs plus expérimentés. Il fournit dans une même fenêtre : - un éditeur performant ; - des `extensions `_ facilitant la tâche du programmeur ; - un outil de deboguage ; - un terminal pour exécuter le code produit ; - et bien plus encore : navigateur de fichiers, partage de code, intégration git, etc. Installation ------------ 1. Installer `VS Code `_. 2. Installer `l'extension Python `_ editée par Microsoft. 3. Sélectionner l'interpréteur Python installé à l'étape précédente:: View > Command Palette... > Python: Select Interpreter Pour profiter de la puissance de Visual Studio Code, consulter `la documentation `_, et en particulier: - la description de `l'interface utilisateur `_ ; - la liste des raccourcis clavier pour `Windows `_, `Linux `_ et `MacOS `_. Visual Studio Code possède également un grand nombre d'extensions dans une `marketplace `_. On utilisera entre autres (liste non limitative): - `Python `__ : auto complétion, formatage du code, navigation dans le code, debugger, Jupyter notebooks, etc... - `Live Share `_ : partage de code à la manière des Google Docs. - `Rainbow CSV `_ : structuration et colorisation des fichiers CSV Utilisation ----------- `Visual Studio Code `_ se lance depuis le menu :command:`Démarrer` (Windows) ou le gestionnaire d'applications (Linux/MacOS). Ouvrir le répertoire de travail ............................... On ouvre le répertoire de travail avec la commande :command:`File > Open Folder...`. Cette opération permet de faire pointer le navigateur de fichiers intégré et le terminal vers le répertoire de travail. La commande :command:`File > Open File` ne fait pas ces opérations et rend les choses plus complexes. .. image:: ../images/openfolder.png Le terminal intégré ................... Visual Studio Code dispose d'un terminal intégré, que l'on fait apparaître ou disparaître dans le menu :command:`View`. .. image:: ../images/afficher-terminal.png Ce terminal est une vue intégrée du terminal du système d'exploitation utilisé. Même s'il a une apparence différente, c'est le même que celui utilisé précédemment. .. image:: ../images/terminal.png Ce terminal intégré permet : - d'exécuter les programmes - de lancer l'interpréteur interactif. Le prompt (l'invite de commande) de ce dernier est différent (`>>>`) et permet d'identifier la nature des commandes attendues. Une erreur courante est d'entrer des commandes Python dans un terminal (Windows ou Linux) ou l'inverse, des commandes Windows ou Linux dans un interpréteur Python. .. image:: ../images/python.png Exécuter un fichier ................... Pour ce qui va suivre, l'instruction :python:`print("Hello World !")` est stockée dans le fichier :file:`hello.py`, enregistré dans le répertoire de travail. L'exécution se passe dans le terminal intégré de Visual Studio Code. Dans Windows 10, le fichier est exécuté avec la commande :command:`python` suivie du nom du fichier:: $ python hello.py Hello World ! > Pour Linux et MacOS, le fichier est exécuté avec la commande :command:`python3` suivie du nom du fichier :: $ python3 hello.py Hello World ! $ Ce qu'il faut retenir ===================== .. quiz:: quizz-01 :title: Installation - :quiz:`{"type":"TF","answer":"T"}` Python s'exécute avec la commande :command:`python` sur les machines Windows - :quiz:`{"type":"TF","answer":"T"}` Python s'exécute avec la commande :command:`python3` sur les machines Linux et MacOS - :quiz:`{"type":"TF","answer":"T"}` Le fonctionnement du programme est indépendant du système d'exploitation - :quiz:`{"type":"TF","answer":"T"}` Il est possible d'utiliser Python en mode interactif - :quiz:`{"type":"TF","answer":"T"}` Le prompt de l'interpréteur interactif Python est :command:`>>>` - :quiz:`{"type":"TF","answer":"T"}` La configuration minimale pour exécuter du code Python est le langage + un éditeur de texte + un terminal - :quiz:`{"type":"TF","answer":"T"}` Un environnement de développement est préférable à la configuration minimale ci dessus - :quiz:`{"type":"TF","answer":"T"}` La première chose à faire avec VS Code est de se placer dans le répertoire de travail avec la commande :command:`File > Open Folder...` - :quiz:`{"type":"TF","answer":"T"}` La commande utilisée pour afficher le terminal dans VS Code est :command:`View > Terminal`