Installer son environnement de travail
Introduction
Il ne s’agit ici que de CPython, l’implémentation de référence de Python, et non de PyPy ou Jython.
Quel que soit votre système d’exploitation, vous pouvez installer Python en lisant ce chapitre puis, dans un second temps, installer des bibliothèques tierces au gré de vos besoins (cf. section Installer une bibliothèque tierce) et vous pourrez créer des environnements virtuels (cf. section Créer un environnement virtuel).
Si vous souhaitez installer d’un seul coup Python ainsi que Jupyter (anciennement IPython) et la plupart des bibliothèques scientifiques ou d’analyse de données, vous pouvez aller directement à la section Installer Anaconda, pour installer celui-ci en lieu et place de Python. Vous disposerez alors d’autres méthodes pour gérer les environnements virtuels et pour installer des bibliothèques tierces.
Installer Python
1. Pour Windows
Le système d’exploitation Windows requiert usuellement l’utilisation d’un installateur pour pouvoir installer un logiciel quel qu’il soit. Si vous disposez de Windows, vous devriez en avoir l’habitude. Python ne déroge pas à la règle.
Pour installer Python, vous devez donc aller sur le site officiel (https://www.python.org/downloads/) pour télécharger l’installateur adéquat. Comme vous pourrez le constater, on vous met en avant un accès rapide à la dernière version (au moment où ces lignes sont écrites, la 3.11.0), puis un accès aux dernières versions encore actives (actuellement la version 3.10 qui reçoit encore des corrections d’anomalies, puis les versions 3.9 à 3.7 qui reçoivent des corrections de sécurité uniquement).
Il est également possible de télécharger la toute dernière version de la branche 2.7 qui est en fin de vie (elle n’est plus mise à jour), car il existe encore de nombreux projets n’ayant pas encore migré.
Le support correctif dure 2 ans après la première sortie de la version et le support de sécurité dure 5 ans.
Pour notre part, nous vous conseillons la dernière 3.x, mais vous êtes libre d’installer celle que vous souhaitez ou même d’en installer plusieurs suivant vos contraintes, il n’y a pas d’objection à cela.
Une fois le téléchargement effectué, vous devez lancer l’installateur (et éventuellement passer quelques protections de votre système qui vous demande d’accorder...
Installer une bibliothèque tierce
Si vous abhorrez le terminal, sachez que vous pouvez installer une bibliothèque tierce depuis votre IDE, ce qui sera probablement plus aisé pour vous.
1. À partir de Python 3.4
Pour installer une bibliothèque tierce, vous devez simplement connaître son nom. Celui-ci est généralement assez intuitif. Par exemple, la bibliothèque permettant de communiquer avec un serveur Redis s’appelle redis.
Il peut y avoir des variations. Par exemple, la bibliothèque de référence pour traiter du XML est lxml et, plus complexe, celle pour BeautifulSoup est bs4. En recherchant comment répondre à un besoin sur le Net ou sur PyPi (https://pypi.python.org/pypi), vous trouverez rapidement une bibliothèque de référence.
Sur des sujets plus confidentiels, il vous arrivera de trouver plusieurs petites bibliothèques. Vous pourrez alors les tester et choisir celle que vous utiliserez pour votre projet.
Sachez que vous pouvez aussi conduire une recherche directement depuis votre terminal :
$ pip search xml
$ pip search soup
Cela vous donnera une liste de bibliothèques accompagnée d’une courte description, à la manière de ce que font les gestionnaires de paquets sous Linux (lesquels sont écrits en Python, au passage).
Sachez que pip existe quel que soit votre système d’exploitation (vous devez être familier avec le terminal de votre système, cependant) et que depuis la version 3.4 de Python, il est installé automatiquement avec celui-ci. Si ce n’est pas votre cas, consultez la section suivante : Pour une version inférieure à Python 3.4....
Créer un environnement virtuel
Si vous abhorrez le terminal, sachez que vous pouvez créer un environnement virtuel depuis votre IDE, ce qui sera probablement plus aisé pour vous.
1. À quoi sert un environnement virtuel ?
Un environnement virtuel est simplement un environnement qui est isolé de votre système. Il y a plusieurs intérêts.
Le premier est que vous ne voulez probablement pas polluer le Python de votre système avec des bibliothèques qui ne sont utiles que pour un projet en particulier.
Le deuxième est que cela évitera que tous vos projets soient pollués par cette même bibliothèque que vous allez utiliser uniquement pour l’un d’entre eux.
Dans la même veine, vous allez peut-être devoir développer un nouveau site Internet avec Django 1.9 en même temps que vous assurez la maintenance de deux autres sites avec les versions 1.7 et 1.8. Là, vous voyez le problème : vous n’allez pas passer votre temps à changer les versions.
Vous allez donc créer un environnement virtuel pour chaque nouveau projet que vous conduirez, de préférence avec des versions identiques à celles que vous utiliserez en production.
L’environnement virtuel est un élément indispensable dans un cadre professionnel.
2. Pour Python 3.3 ou version supérieure
La possibilité de créer des environnements virtuels est livrée d’office avec Python 3.3 et avec les versions suivantes, sous la forme du module venv. Il existe un script pyvenv qui permet de créer l’environnement virtuel très simplement :
$ pyvenv /path/to/my/env
Une fois...
Gestion des dépendances
L’outil pip permet d’installer un paquet en particulier, ainsi que toutes ses dépendances. Par contre, lorsque l’on veut installer un paquet et qu’il a une dépendance qui est incompatible avec l’existant, pip ne peut pas résoudre la situation.
Poetry (https://python-poetry.org/docs/basic-usage/) est un gestionnaire de paquets Python qui permet de gérer les versions de tous les paquets de manière à ce que tout soit compatible.
Pour utiliser cet outil, il faut tout d’abord l’installer, idéalement dans un environnement virtuel :
$ pip install poetry
Il faut ensuite créer un projet :
$ poetry new example
Cette commande crée un répertoire example contenant les fichiers de base d’un projet dont le fichier pyproject.toml. Ce dernier contient, entre autres, le nom des diverses dépendances. On peut aussi, si l’on est dans le répertoire d’un projet déjà existant utiliser :
$ poetry init
Cette commande permet de demander à l’utilisateur de manière interactive les différents éléments pour mettre à jour le fichier pyproject.toml dont le nom des paquets que l’on souhaite. Cela se fait en plusieurs étapes. D’abord, le programme demande le nom du paquet, fait une recherche pour trouver les noms les plus proches de ce qui est recherché, puis demande de choisir dans la liste et demande s’il y a des spécificités sur la version souhaitée.
Après avoir fermé ce programme, on peut toujours ajouter de nouveaux paquets soit en les rajoutant à la main dans ce fichier, soit...
Installer Anaconda
1. Pour Windows
Comme pour tout autre logiciel, l’installation d’Anaconda passe par un installateur, que vous pouvez télécharger sur le site officiel du projet (https://www.anaconda.com/distribution/).
Il vous suffira alors d’exécuter ce fichier et de passer les éventuelles barrières de sécurité en accordant votre confiance à l’éditeur, ce qui conduit à cet écran d’accueil :
Vous devez donc commencer par accepter la licence, puis choisir si vous souhaitez installer le produit pour vous (Just Me (recommended)) ou tous les utilisateurs (All Users (requires admin privileges)), sachant qu’il peut être utile, selon votre utilisation du système de comptes de Windows, d’installer le logiciel pour tous les utilisateurs.
Le reste du processus est assez basique. Nous vous conseillons cependant de choisir d’ajouter Anaconda dans la liste de vos chemins (cochez pour cela l’option Add Anaconda to my PATH environment variable), de manière à le retrouver dans le terminal (nous vous conseillons aussi de ne pas installer Python et Anaconda en même temps).
L’option Register Anaconda as my default Python 3.7 est l’autre option importante à cocher car elle vous permet d’utiliser Anaconda en tant que version primaire de votre Python (celle qui sera appelée par les principaux programmes utilisant Python, dont PyCharm, que l’on verra ultérieurement).
Pour rappel, la version de Python qui sera utilisée dans le terminal sera celle trouvée en premier dans le PATH, d’où son importance.
Après avoir passé quelques écrans supplémentaires...
Docker
Docker est une solution de plus en plus utilisée. Elle permet de créer des conteneurs minimalistes qui sont des mini OS contenant le minimum de paquets nécessaires pour accomplir une tâche. Nous avons ainsi des conteneurs pour Debian ou Windows, mais aussi pour Redis, PostgreSQL, RabbitMQ ou encore Python (https://hub.docker.com/_/python).
Pour pouvoir utiliser Docker, il faut au préalable l’installer :
Si vous n’êtes pas familier avec l’outil, il est conseillé d’utiliser Docker Desktop qui vous permettra de gérer vos conteneurs via une interface graphique (https://docs.docker.com/engine/install/). Nous vous conseillons également d’installer docker-compose (https://docs.docker.com/compose/install/).
Une fois ceci fait, il suffit de lancer une image préconstruite, comme les images Python :
$ docker run python:3.12-rc-bullseye
Cela va télécharger l’image, puis la lancer.
Il est aussi possible de créer un fichier DockerFile :
FROM python:3.12-rc-bullseye
SHELL ["/bin/bash", "-c"]
ENV DEBIAN_FRONTEND noninteractive
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ARG POETRY_VERSION=1.1.14
RUN useradd pythoniste --create-home --user-group --groups sudo --shell
/bin/bash
WORKDIR /home/pythoniste
# Mise à jour de PIP
RUN pip install --no-cache-dir --upgrade pip
# Installation de Poetry
RUN pip install poetry==${POETRY_VERSION}
RUN poetry config virtualenvs.create false
# Installation des dépendances ...
La console Python
1. Démarrer la console Python
La console Python est un outil indispensable. Cependant, elle est assez peu conviviale et pas du tout agréable à utiliser pour les débutants, étant donné que coller du code peut devenir très rapidement exaspérant. Pour toutes ces raisons, nous allons indiquer succinctement comment l’utiliser, mais nous ne nous étendrons pas plus sur le sujet.
Quel que soit votre système d’exploitation, pour démarrer la console, vous pouvez ouvrir un terminal et taper, selon votre version :
$ python
$ python3
$ python2.6
$ python3.5
La première ligne démarre la console du Python du système, pour les systèmes GNU/Linux ou Mac. Les autres lignes démarrent des versions que vous aurez installées par vous-même.
Pour les utilisateurs de Windows, la première ligne démarre la première version de Python qui est trouvée dans le PATH. Si la commande ne fonctionne pas, c’est que ce PATH est mal configuré.
Sachez aussi que la console est aussi accessible depuis le menu sous le nom de Console Python ou de IDLE. IDLE est un outil graphique, mais sachez qu’il est aussi rébarbatif que la console.
Lorsque la console est démarrée, vous voyez le numéro de la version ainsi qu’une ligne commençant par trois chevrons. Il s’agit de l’invite de commande de la console Python.
2. BPython
BPython est une console qui est améliorée, car elle profite d’une bibliothèque permettant une meilleure interactivité (et aussi utilisée dans d’autres produits, tels qu’une console...
Installer un IDE
1. Liste d’IDE
Disposer d’un environnement de travail adapté est très important dès lors que l’on travaille sur des projets d’une taille moyenne à conséquente. Autant on peut toujours utiliser vim occasionnellement ou pour travailler sur des scripts, autant cette solution trouve vite sa limite, même lorsque l’on y est habitué.
Il existe énormément de solutions (http://wiki.python.org/moin/IntegratedDevelopmentEnvironments), parmi lesquelles Eclipse et Aptana, Eric ou Spyder.
La combinaison Eclipse + PyDev peut être séduisante sur le papier : lorsque l’on travaille sur des projets utilisant différents langages de programmation, elle permet de tous les travailler à l’aide d’un seul environnement de développement.
Malheureusement, il est très difficile de réussir à installer Eclipse + tous les greffons, étant donné que chacun a des dépendances qui ne s’accordent pas avec celles des autres. Dans la vie réelle, on est souvent obligé d’avoir un Eclipse pour Python, un autre pour PHP, un autre pour C et un dernier pour Java, car il est très difficile de faire fonctionner ces greffons ensemble.
Aptana est une version packagée d’Eclipse + PyDev. C’est donc une version dédiée à Python. Cet environnement répond aux critères essentiels, mais il est particulièrement lent et parfois instable et des fonctionnalités basiques comme l’autocomplétion ne sont pas assurées. On lui préférera donc d’autres solutions.
Eric...
VSCode
VSCode est un éditeur de Code de Microsoft permettant d’éditer du code écrit dans à peu près n’importe quel langage, y compris, forcément, pour du Python. Il est conçu comme un éditeur très générique auquel il est possible d’ajouter énormément de plugins. En ce qui concerne l’analyse syntaxique ou la génération automatique des documentations, il est quasiment aussi évolué que PyCharm et il permet de répondre assez bien aux plus grosses problématiques.
Là où il fait une différence significative, c’est qu’il est possible de l’installer dans un conteneur. Autrement dit, il est capable d’utiliser le Python d’un conteneur en particulier.
Pour cela, il faut installer VSCode, puis son plugin pour WSL (si on est sous Windows) et le plugin pour les conteneurs Docker. Enfin, il faut créer une image Python adaptée à nos besoins (avec tous les paquets utiles à note code) et ouvrir VSCode au sein du conteneur.