Installation et utilisation de Python et outils associés

par Jean-Daniel Bonjour, puis Samuel Bancal EPFL-ENAC-IT, © Creative Commons BY-SA

(version 2020-09-03)

1 Version de Python

De par le passé, Python a évolué à travers différentes versions. Chaque passage à une version supérieure s’est faite avec une compatibilité ascendante; ce qui signifie p. ex. que du code Python s’exécutant avec Python 3.2, marchera également avec Python 3.3 ou suivant.

Il y a une exception à cela : le passage de Python 2.x (2000) à Python 3.x (2008).

Pour corriger certains défauts de jeunesse du langage, il a été décidé de faire quelques changements importants qui rendent le code Python 2 non exécutable avec Python 3 sans des adaptations.

Ce changement a été fait sur plusieurs années (puisque Python 3 est apparu en 2008 et que Python 2 n’est plus supporté que depuis le 1er janvier 2020). Cela a permis à chacun ayant du code de migrer ses projets vers la nouvelle version.

Aujourd’hui, Python 2 n’existe que d’un point de vue historique … Nous allons donc faire du Python 3 !

2 Outils de développement Python

Un environnement de développement Python est constitué de différents outils et composants présentés dans la figure ci-dessous. Les chapitres qui suivent décrivent le rôle et l’utilisation de ceux-ci.

S’agissant de l’installation de Python et de ces outils sur votre machine, voyez plus bas le chapitre “Installation d’un environnement Python v3 complet”.

2.1 Interpréteurs Python

Il existe de nombreuses implémentations de Python… et par conséquents d’interpréteurs. Les plus connus sont :

Il faut noter que l’interpréteur de base est l’interpréteur de référence du langage Python, et que les autres interpréteurs n’implémentent souvent pas la toute dernière version du langage.

Nous n’allons présenter ici que les deux plus courants : l’interpréteur de base CPython et l’interpréteur interactif IPython, à travers Jupyter.

2.1.1 L’interpréteur de base CPython

Lorsque Python est distribué avec le système d’exploitation (ce qui est le cas sous GNU/Linux et macOS), on dispose alors de l’interpréteur de base et de la librairie standard.

lin win mac L’interpréteur CPython permet d’exécuter des scripts/programmes en frappant, depuis une fenêtre terminal : python script.py.

L’option -i est particulièrement intéressante : en frappant python -i script.py, juste après l’exécution du script on entre dans le mode mode interactif de l’interpréteur, ce qui donne la possibilité d’examiner les variables globales où tracer le stack d’erreurs.

L’interpréteur de base peut donc aussi être utilisé en mode interactif, et c’est ce qui se passe lorsqu’on lance la commande python sans passer de script en argument. Le mode interactif est alors signalé par le prompt >>>. On quittera l’interpréteur en passant la commande quit() ou exit(), ou en frappant <ctrl-D> sous Linux et macOS, ou <ctrl-Z> sous Windows (qui envoie un EOF, c-à-d. un caractère de fin de fichier).

Le mode interactif donne accès à une une aide en ligne :

Pour exécuter un script lorsqu’on est dans l’interpréteur interactif, on passera la commande : exec(open('script.py').read()) (hum… pas très convivial !).

Il est possible de se définir un prologue Python, c’est à dire un fichier de code Python qui sera exécuté lors de chaque démarrage interactif de Python (p.ex. pour charger des modules…). On le nomme en général .pythonrc et on le place dans le répertoire personnel de l’utilisateur. L’activation de ce prologue s’effectue par la définition de la variable d’environnement suivante dans son prologue shell (~/.bashrc) : export PYTHONSTARTUP=~/.pythonrc

Mais pour un usage interactif fréquent, les possibilités de l’interpréteur de base sont très limitées, et on a bien meilleur temps d’utiliser l’interpréteur IPython présenté ci-après.

2.1.2 L’interpréteur interactif IPython

Bien que son utilisation soit la majorité du temps faite à travers l’application Jupyter (décrit plus bas), il est également possible de lancer IPython de façon native.

lin win mac IPython est l’interpréteur Python interactif le plus utilisé actuellement en raison de sa convivialité, de ses vastes possibilités interactives et graphiques.

Pour démarrer IPython, passez la commande : ipython. Pour connaître les options de lancement, frappez : ipython --help ou ipython --help-all.

Pour quitter IPython, passez la commande exit ou quit, ou frappez <ctrl-D> et confirmez.

chantier La rédaction de la suite de ce chapitre (magic fonctions, etc…) est en cours, merci de patienter ! Mais vous pouvez déjà découvrir par vous même ces magic functions en tapant %magic dans IPython.

2.2 Éditeurs de programmation

Avant de faire votre choix et d’installer un éditeur, prenez connaissance du chapitre suivant sur les IDE, ainsi que le chapitre sur l’installation d’un environnement Python3.

N’importe quel éditeur de texte brut permet de programmer en Python. Il est cependant utile de disposer au minimum de la coloration syntaxique Python, ce qu’offrent la plupart des éditeurs de programmation. Nous vous recommandons notamment :

Pour une liste plus complète d’éditeurs, voyez ce lien.

2.3 IDE’s pour Python

Utiliser un bon éditeur pour programmer en Python c’est bien. Recourir à un environnement de développement (IDE, Integrated Development Environment) c’est encore plus confortable et puissant. Pour un usage scientifique de Python, Spyder figure parmi les plus répandus.

2.3.1 Spyder

lin win mac Spyder (Scientific Python Development EnviRonment) est un IDE orienté vers un usage scientifique de Python et doté de fonctionnalités avancées d’édition, debugging, introspection et profiling. L’utilisateur MATLAB ou GNU Octave GUI se retrouvera dans un environnement familier, avec notamment des fenêtres Console, Editor, Variable explorer, File explorer, History, Online help… Disponible sur tous les systèmes d’exploitation, cet IDE est lui-même écrit en Python et s’appuie sur le toolkit graphique multiplateforme Qt (nécessitant les packages PyQt et PySide).

Cet IDE s’installe sous GNU/Linux de façon standard (voir ce chapitre). S’agissant des autres OS, il est notamment intégré aux bundles WinPython et Anaconda présentés plus loin.

chantier La rédaction de la suite de ce chapitre est en cours, merci de patienter !

2.3.2 Autres IDE’s

Parmi les IDE’s bien adaptés à l’écriture de code Python, mentionnons en outre :

Pour une liste plus complète d’IDE’s orientés Python, voyez ce lien.

2.4 Jupyter Notebook

L’interpréteur IPython versions 0.12 à 3.x offrait une fonctionnalité appelée Ipython Notebook qui permettait, à la façon d’autres logiciels scientifiques (Mathematica, Maple…), de créer des documents interactifs composés de code Python vivant, de texte formaté (Markdown, HTML et LaTeX) et de graphiques.

Cette fonctionnalité a été sortie du projet IPython pour constituer un outil indépendant dénommé lin win mac Jupyter. L’objectif de cette scission a été de rendre cette technologie de notebooks accessible à d’autres langages de programmation que Python. Bien entendu Jupyter Notebook est toujours utilisable avec le langage Python, mais il supporte désormais des dizaines d’autres langages (par exemple GNU Octave). En outre la plupart des fonctionnalités IPython décrites au chapitre précédent sont utilisables dans les cellules de code du Notebook.

2.4.1 Installation et utilisation de Jupyter Notebook

Le chapitre Installation vous indique, selon votre système d’exploitation, comment installer Jupyter et le démarrer en mode console, Notebook ou Lab.

Pour découvrir les principes de base d’utilisation de Jupyter (création et manipulation de cellules, texte Markdown…), vous pouvez ensuite télécharger ce notebook (avec <clic-droite> Save link as). Ouvrez-le dans Jupyter et exercez ce qui est indiqué.

Nous vous mettons aussi à disposition un autre notebook d’introduction rapide aux bases du langage Python.

2.4.2 Réalisation de slide-shows avec Jupyter

Jupyter offre en standard des fonctionnalités permettant de présenter un notebook sous forme de slide-show. Voyez cet exemple ainsi que le notebook Jupyter associé.

Pour créer un slide-show sur la base d’un notebook existant, il faut commencer par définir quelles cellules seront affichées en mode slide-show, et quel sera l’enchaînement de la présentation. Pour cela, activer le mode : View > Cell Toolbar > Slideshow (bascule). Un menu déroulant “Slide Type” apparaît alors au haut de chaque cellule, offrant les options suivantes :

Voyons maintenant les 2 techniques de présentation proprement dites.


A) On peut générer la présentation sous forme d’un fichier HTML complètement stand-alone. Pour cela, commencer par sauvegarder et quitter le notebook, puis passer la commande : jupyter nbconvert notebook.ipynb --to slides --post serve. Cela fabrique un fichier nommé notebook.slides.html, et l’option --post serve provoque son ouverture automatique dans une fenêtre de navigateur web. Le contrôle du déroulement du slide-show s’effectue avec les actions suivantes :


B) Avec la technique ci-dessus, en mode présentation les cellules ne peuvent pas être éditées et exécutées. Cela est cependant possible en recourrant à l’extension RISE (Reveal.js Jupyter/IPython Slideshow Extension) :

Lorsque vous ouvrirez un notebook, vous verrez dès lors apparaître un nouveau bouton [Enter/Exit RISE Slideshow] sur la droite de la barre d’outils du notebook. Équivalant au raccourci <alt-r>, ce bouton fonctionne comme une bascule et permet de passer interactivement du mode d’affichage normal (notebook) au mode slide-show et vice versa, sans qu’il soit nécessaire de “convertir” le notebook en présentation. Le contrôle du déroulement du slide-show s’effectue ensuite avec les actions suivantes :

3 Installation d’un environnement Python v3 complet

Python n’est pas installé par défaut sous Windows. Sous GNU/Linux et macOS par contre, l’interpréteur de base Python ainsi que la librairie standard sont intégrés au système :

Ce support de cours étant orienté Python3, les chapitres qui suivent ont pour objectif de vous aider à installer sur votre propre machine, selon votre système d’exploitation et de façon non intrusive, l’environnement de développement Anaconda qui comportera la librairie standard, ainsi que les packages de base courament utilisés pour du calcul scientifique (Numpy, Scipy, Matplotlib et bien plus encore) ainsi que IPython, Jupyter et Spyder.

lin win mac Anaconda est un bundle Python3 très en vogue dans le monde scientifique. Développé par la société Anaconda Inc., libre dans sa version de base (nommée “Individual Edition”), il a l’avantage d’être multiplateforme (i.e. disponible sous Windows, macOS et GNU/Linux) et d’intégrer une grande quantité d’outils et packages Python, notamment : IPython, PIP, Jupyter, Spyder, NumPy, SciPy, MatplotLib, Pandas, Sympy… (voir la liste complète).

3.1 Installations recommandées, selon votre système d’exploitation

3.1.1 Anaconda pour Windows

Il serait possible d’installer l’interpréteur Python v3 de base (incluant sa librairie standard) sous Windows en utilisant l’installeur proposé par le site Python, mais l’ajout d’autres outils n’est ensuite pas évidente. Nous nous orientons donc plutôt vers un bundle complet.

  1. Rendez-vous sur la page https://www.anaconda.com/distribution/
  2. Cliquez sur Download ce qui vous rendra en bas de la page
  3. Votre système d’exploitation (Windows) devrait être automatiquement détecté
  4. Deux possibilités sont offertes : Choisissez l’installeur graphique 64 bits.
  5. Le fichier Anaconda3-version-Windows-x86_64.exe (env. 466 MB) est alors téléchargé (notez le 3 qui correspond à la version 3 de Python)
  6. Passez ensuite à l’installation proprement dite en double-cliquant sur cet outil d’installation. Acceptez les propositions par défaut (la licence, l’installation au niveau système donc multi-utilisateur, l’emplacement d’installation par défaut qui est C:\ProgramData\anaconda3, qui pèsera env. 5.0 GB)
  7. Une fois l’installation terminée, vous pouvez jeter le fichier d’installation que vous aviez téléchargé.

Vous pouvez à présent lancer Anaconda Navigator depuis le menu Démarrer.

3.1.2 Anaconda pour GNU/Linux Ubuntu

S’agissant tout d’abord de l’interpréteur Python3 et sa librairie standard : rien à faire de spécial, car Ubuntu embarque déjà Python 3 depuis sa version 14.04.

Si vous souhaitez investiguer d’autres façon d’installer votre environnement Python sur Ubuntu, sans Anaconda (ce qui sera plus léger), référez-vous au chapitre Installation alternative pour GNU/Linux.


  1. Rendez-vous sur la page https://www.anaconda.com/distribution/
  2. Cliquez sur Download ce qui vous rendra en bas de la page
  3. Votre système d’exploitation (Linux) devrait être automatiquement détecté
  4. Deux possibilités sont offertes : Choisissez l’installeur graphique 64 bits.
  5. Le fichier Anaconda3-version-Linux-x86_64.sh (env. 550 MB) est alors téléchargé (notez le 3 qui correspond à la version 3 de Python)
  6. Rendez ce fichier téléchargé exécutable avec la commande chmod +x Anaconda3-version-Linux-x86_64.sh
  7. Passez ensuite à l’installation proprement dite en l’exécutant : ./Anaconda3-version-Linux-x86_64.sh. Acceptez les propositions par défaut (la licence, l’installation au niveau système donc multi-utilisateur, l’emplacement d’installation par défaut qui est /home/username/anaconda3, qui pèsera env. 3.6 GB)
  8. Une fois l’installation terminée, vous pouvez jeter le fichier d’installation que vous aviez téléchargé.

Notez que l’installeur a ajouté un bloc d’intégration à votre fichier $HOME/.bashrc. Cela permet dans tout terminal bash d’avoir accès aux outils Anaconda sans devoir se soucier où il se trouve. Si vous utilisez un autre shell que bash, il vous sera nécessaire de reporter ce bloc dans le fichier correspondant ($HOME/.zshrc pour zsh par exemple).

Vous pouvez à présent lancer anaconda-navigator depuis une console.

3.1.3 Anaconda pour macOS

Il serait possible d’installer l’interpréteur Python v3 de base (et sa librairie standard) sous macOS en utilisant l’installeur proposé par le site Python. Une autre alternative assez courante et bien documentée sur Internet serait d’utiliser le gestionnaire de paquets Homebrew. Nous nous orientons cependant ici plutôt vers l’installation d’un bundle Anaconda complet très répandu.

  1. Rendez-vous sur la page https://www.anaconda.com/distribution/
  2. Cliquez sur Download ce qui vous rendra en bas de la page
  3. Votre système d’exploitation (mac OS) devrait être automatiquement détecté
  4. Deux possibilités sont offertes : Choisissez l’installeur graphique 64 bits.
  5. Le fichier Anaconda3-version-MacOSX-x86_64.pkg (env. 650 MB) est alors téléchargé (notez le 3 qui correspond à la version 3 de Python)
  6. Passez ensuite à l’installation proprement dite en double-cliquant sur cet outil d’installation. Acceptez les propositions par défaut (la licence, l’installation au niveau système donc multi-utilisateur, l’emplacement d’installation par défaut qui est /anaconda3, qui pèsera env. 2.6 GB)
  7. Une fois l’installation terminée, vous pouvez jeter le fichier d’installation que vous aviez téléchargé.

Si vous désirez utiliser Anaconda depuis un autre compte que celui sous lequel il a été installé, cela est possible en ajoutant simplement, dans votre fichier ~/.bash_profile, la ligne suivante : export PATH="/anaconda3/bin:$PATH"

Vous pouvez à présent lancer Anaconda-Navigator depuis le dossier Applications.

4 Première utilisation d’Anaconda

4.1 Anaconda Navigator, section home

Une fois lancé l’outil anaconda-Navigator, vous pouvez depuis depuis la section “home” lancer différents outils, tel que :

  1. JupyterLab qui s’ouvrira dans une fenêtre de votre navigateur web par défaut. Vous pouvez cliquer sur l’icone du Notebook Python3 ce qui créera un nouveau notebook. Testez que cela marche avec un simple 2+2 ou print('Hello World!').

  2. Spyder qui se lancera. Au 1er lancement de Spyder, celui-ci vous proposera d’installer Kite. Il s’agit d’un module qui vous aidera bien dans la rédaction de votre code. Donc Acceptez l’installation de celui-ci. Si vous deviez choisir de l’installer plus tard, vous pouvez vous rendre sur https://www.kite.com/integrations/spyder/. Vous pouvez également tester cet outil en écrivant un nouveau fichier à gauche avec pour simple instruction print('Hello World!'), puis l’exécuter avec l’icône Run (Raccourcis F5). Vous pouvez également lancer des commandes Python dans la partie en bas à droite (2+2 sera un bon moyen de voir que ça marche).

4.2 Anaconda Navigator, section Environments

Dans la le menu sur la gauche, en choisissant Environments, vous pouvez

  1. Créer / Cloner / Importer / Supprimer des environnements virtuels

  2. Pour chacun de ceux-ci, installer / désinstaller des packages et même choisir leur version

4.3 Anaconda depuis un terminal

Dans ce terminal, l’invite (note : le texte marqué à gauche de la commande que l’utilisateur peut saisir) est préfixée maintenant par un (base). Cela signifie que nous utilisons l’environnement virtuel nommé base. Comme décrit dans le chapitre des environnements ou juste ci-dessous, il est possible de fonctionner avec plusieurs de ces environnements et pour chacun d’eux, choisir quel package utiliser.

Ainsi, vous pouvez lancer :

4.4 L’outil conda depuis le terminal

Vous pouvez créer et gérer vos environnements virtuels avec la commande conda :

Voici encore 2 commandes spécifiques qui sont utiles de façon générales :

5 Autres distributions ou outils Python

5.1 Installation alternative pour GNU/Linux (sans Anaconda)

On vous présente ici 2 autres façons d’installer les outils et librairies Python sous Ubuntu, en comparaison avec la solution Anaconda :

  1. Anaconda, tel que documenté plus haut
  2. Soit une installation dans le compte utilisateur (c-à-d. dans ~/.local) basée sur le dépôt PyPI en utilisant le gestionnaire de paquets pip3 :
  3. Soit une installation au niveau système et basée sur le packaging Ubuntu/Canonical :


Méthode B), un peu orientée développeur, mais offrant le plus de flexibilité :

  1. installation du gestionnaire de paquets PIP3 (pour Python v3) : sudo apt install python3-dev python3-pip
  2. installation de IPython : pip3 install --user ipython
  3. installation de Jupyter : pip3 install --user jupyter
  4. installation de JupyterLab : pip3 install --user jupyterlab
  5. installation des librairies Scientific Python v3 de base : pip3 install --user numpy scipy matplotlib
  6. insertion dans votre fichier ~/.bashrc de la ligne suivante : export PATH=$PATH:~/.local/bin
  7. note : l’installation ultérieure de toute autre librairie/package PyPI se fera avec : pip3 install --user package

Méthode C), plus simple, mais ne donnant pas accès aux dernières versions/fonctionnalités :

  1. installation de IPython pour Python v3 : sudo apt install ipython3 ipython3-qtconsole (env. 280 MB)
  2. installation de Jupyter : sudo apt install jupyter-qtconsole jupyter-console jupyter-notebook jupyter-client (env. 130 MB)
  3. installation des librairies Scientific Python v3 de base : sudo apt install python3-numpy python3-scipy python3-matplotlib (env. 95 MB)
  4. éventuelle installation de l’IDE Spyder : sudo apt install spyder3 (env. 160 MB)
  5. note : l’installation de toute autre librairie/package packagé par Canonical se fera avec : sudo apt install python3-package


Depuis une fenêtre terminal, vous pouvez maintenant utiliser les commandes suivantes :


5.2 Distributions

L’inventaire ci-dessous n’est pas exhaustif.

win WinPython bundle Python également beaucoup utilisé par la communauté scientifique Python, mais uniquement disponible sous Windows.

lin win mac Enthought Canopy (ex- Enthought Python Distribution) est un bundle Scientific Python multiplateforme. Commercial, il est cependant gratuit pour un usage académique ou dans la version de base Canopy Express. Il n’inclut pas l’IDE Spyder.

lin win mac Active Python (de la société ActiveState Software Inc.) est une distribution Python multiplateforme importante, mais moins orientée vers un usage scientifique. Proposée en deux versions : Community (gratuite) et Business (payante).

win Python(x,y) est un bundle Scientific Python libre pour Windows. Plus ancien que WinPython, il tourne sous Windows 64bit mais en mode 32bit. Basé sur l’IDE Eclipse.

win Cygwin, l’environnement libre bien connu d’émulation Unix pour Windows, permet l’installation et utilisation de Python. Mais cette solution n’a de sens que pour ceux utilisent/maîtrisent déjà Cygwin.

mac Sous macOS il est aussi possible d’installer Python via l’un des systèmes de packaging Homebrew, Fink ou MacPorts. Mais c’est relativement lourd (peut nécessiter l’environnement de développement Apple XCode) et moins évident lorsque l’on veut intégrer certains outils Python annexes (Qt, IDE, etc…)

 


cc-by-sa Jean-Daniel Bonjour, puis Samuel Bancal, EPFL, ENAC-IT (2015-2020)