Exécuter un script Python depuis le terminal
Temps de lecture20 minEn bref
Résumé de l’article
Cet article explique ce qu’est un interpréteur Python, comment vérifier celui qui est installé sur votre machine et comment l’installer ou le mettre à jour. Il montre ensuite les deux façons de lui donner du travail : la session interactive, pour essayer une instruction, et le script, un simple fichier texte que l’on exécute avec python mon_script.py.
La dernière partie est la plus importante : elle explique le rôle du répertoire courant du terminal et la différence entre chemin relatif et chemin absolu. C’est ce qui explique la quasi-totalité des erreurs « mon programme ne trouve pas son fichier » ou « ça marchait hier ». Elle démystifie enfin le bouton « Exécuter » des éditeurs, qui ne fait rien d’autre que taper cette commande à votre place.
Points clés à retenir
- L’interpréteur traduit vos instructions une par une pour le processeur. Contrairement à un compilateur, il n’a pas besoin de traduire tout le programme avant de commencer à l’exécuter.
- Un script Python est un fichier texte brut d’extension
.py. Un traitement de texte comme Word ou LibreOffice ne convient pas : il ajoute des informations de mise en forme que l’interpréteur ne sait pas lire. python mon_script.pyse lit « interpréteur, exécute ce fichier ». Sous Linux et MacOS, la commande s’appellepython3.- Le terminal a un répertoire courant, et un chemin relatif est toujours interprété par rapport à lui. Le même programme lancé depuis deux dossiers différents ne se comporte pas de la même façon.
- Le bouton « Exécuter » d’un éditeur n’a rien de magique : il choisit un interpréteur et un répertoire courant à votre place, puis lance la commande. Savoir la taper vous-même est ce qui vous permet de comprendre ce qu’il fait – et de le réparer quand il se trompe.
Contenu de l’article
L’interpréteur Python
Python est un langage informatique qui vous permet d’écrire des programmes, c’est-à-dire une liste d’instructions conçues pour être exécutées par l’ordinateur afin d’accomplir la tâche souhaitée.
Cependant, le processeur de l’ordinateur comprend essentiellement des séries de 0 et de 1. Un interpréteur Python fait la traduction entre vos instructions respectant la syntaxe Python et le processeur qui nécessite des séries de 0 et 1. C’est évidemment une simplification grossière car plusieurs étapes peuvent être nécessaires pour alimenter le processeur (via du bytecode par exemple). Cependant, la principale caractéristique d’un interpréteur est qu’il traduit une instruction à la fois pour le processeur de l’ordinateur.
Avec un interpréteur, il n’est pas nécessaire de traduire l’intégralité du code source et de produire le code binaire complet du programme avant de lancer l’exécution. Cela serait le rôle d’un compilateur. Des langages tels que C ou C++ nécessitent un compilateur. D’autres langages, comme Java, se situent entre ces deux solutions, en compilant le code Java en une représentation intermédiaire (bytecode), qui est ensuite interprétée.
Pour travailler avec le langage Python, vous devez donc installer sur votre machine un interpréteur capable de traduire et d’exécuter les lignes de texte que vous écrirez en syntaxe Python.
Vérifier ce qui est installé sur votre machine
Pour savoir si vous avez déjà un interpréteur Python, ouvrez un terminal et demandez-lui sa version :
La sortie devrait ressembler à Python 3.12.4. Si c’est le cas, vous avez bien une version de Python 3 installée ; vérifiez qu’il s’agit d’une version récente (au moins 3.12). Si vous obtenez au contraire un message indiquant que la commande est inconnue, vous devez installer Python.
Information
Les versions de Python sont numérotées “A.B.C” ou “A.B” où :
- A est le numéro de version majeure – Il n’est incrémenté que pour des changements vraiment majeurs dans le langage.
- B est le numéro de version mineure – Il est incrémenté pour des changements moins fondamentaux.
- C est le numéro de version micro – Il est incrémenté pour chaque correction de bug.
Habituellement, si ce n’est pas indiqué autrement, A.B1 (plus récent) est rétrocompatible avec A.B2 (plus ancien) lorsque B1 > B2.
Une deuxième question, moins évidente, est de savoir quel interpréteur répond. Il peut y en avoir plusieurs sur une même machine, et c’est une source d’erreurs classique. Pour connaître le fichier réellement exécuté :
Installer ou mettre à jour l’interpréteur
Pour installer ou mettre à jour Python, votre point de référence est le site officiel de Python.
Important
Installez toujours les logiciels depuis les sites officiels !
Il existe plusieurs sites web qui vous permettront de télécharger un logiciel que vous recherchez. Certains vous feront payer pour un logiciel que vous pouvez trouver gratuitement ailleurs (certaines licences le permettent). Mais surtout, il y a un risque élevé de sécurité à installer des logiciels provenant de sources non fiables.
Vous vous demandez peut-être s’il est toujours préférable d’avoir la dernière version d’un logiciel. Voici quelques questions à considérer avant de mettre à jour votre interpréteur :
- Parfois, le choix ne vous appartient pas : par exemple, votre client peut avoir des contraintes auxquelles vous devez vous conformer (votre programme ne fonctionnera probablement pas seul mais dans un système existant avec un environnement spécifique).
- C’est aussi une question d’équilibre entre casser un logiciel existant pour prendre en compte de nouvelles fonctionnalités ou corrections de bugs, des problèmes de sécurité, etc. En effet, vous devez être sûr de pouvoir réparer le logiciel cassé.
- Certains contrôles doivent être effectués : mon programme utilise-t-il des paquets ou a-t-il des dépendances (bibliothèques) qui ne sont pas compatibles (bugs) avec la dernière version ? Ai-je vérifié les retours utilisateurs sur une version spécifique ? Les pages de sortie mentionnent-elles des problèmes potentiels ?
Pour l’instant, considérez que toute version supérieure à 3.12 devrait satisfaire vos besoins.
La procédure dépend de votre système :
Visitez la section Python Releases for Windows sur le site officiel de Python pour trouver la version désirée de Python.
Cliquez sur le lien Download Python pour télécharger le fichier d’installation de la version souhaitée (choisissez la dernière). Assurez-vous que l’architecture ciblée de l’installateur correspond à votre architecture (normalement, l’installateur 64 bits devrait convenir). Puis, lancez l’installateur téléchargé. Si vous mettez à jour une installation existante de Python 3.x, l’installateur vous permettra d’installer la nouvelle version en parallèle de l’ancienne.
Pendant le processus d’installation, assurez-vous que l’option “Add Python to PATH” est cochée, afin que la nouvelle version soit disponible dans le PATH de votre système.

Le gestionnaire de paquets apt est un outil essentiel pour gérer les logiciels sur Ubuntu et autres distributions basées sur Debian. Si vous travaillez avec une autre distribution, vous devriez également avoir un gestionnaire de paquets, mais avec un nom différent.
Ouvrez un terminal, mettez à jour la liste des paquets, puis installez Python :
Cette commande installera Python à la version par défaut dans le gestionnaire de paquets de votre distribution, qui peut être légèrement en retard par rapport à la version officielle mais est considérée comme stable.
Deux méthodes sont possibles : l’installateur officiel Python.org ou Homebrew.
Avec l’installateur officiel – Visitez le site Python.org et naviguez vers la section Downloads où vous pouvez cliquer sur le lien “Download macOS 64-bit universal2 installer”. Une fois le téléchargement terminé, ouvrez l’installateur et suivez les instructions. Pendant l’installation, si cela vous est proposé, sélectionnez l’option “Add Python to PATH”.

Avec Homebrew – Assurez-vous d’abord que Homebrew est installé, puis :
Si vous avez déjà installé Python avec Homebrew, utilisez brew upgrade python3.
Quel que soit votre système, vérifiez ensuite l’installation en ouvrant un nouveau terminal et en retapant python --version (ou python3 --version).
Important
N’installez pas Python 2.x ! Pendant le cours, vous utiliserez la version 3 du langage Python qui n’est pas rétrocompatible avec Python 2.
La version 2 est proposée uniquement pour la compatibilité avec d’anciens programmes Python, et ne doit plus être utilisée pour aucun nouveau programme.
Information
Lorsque vous écrivez du code, gardez une trace de la version du logiciel sur laquelle vous vous appuyez. Connaître la version de l’interpréteur que vous utilisez est important pour garantir que tout utilisateur pourra le faire fonctionner. Cela doit apparaître lors de la documentation de votre logiciel, ainsi que les versions des bibliothèques ou paquets que votre logiciel requiert.
La session interactive
La façon la plus directe de parler à l’interpréteur est de le lancer sans rien lui donner à exécuter. Tapez python (ou python3) seul dans un terminal : le prompt devient >>> et chaque ligne que vous tapez est traduite et exécutée immédiatement.
C’est très pratique pour vérifier le comportement d’une instruction ou explorer une bibliothèque. En revanche, rien n’est conservé : dès que vous quittez la session avec quit() ou exit(), tout ce que vous avez tapé disparaît.
Le script : un simple fichier texte
Pour conserver et rejouer votre travail, vous mettez vos instructions dans un fichier, et vous demandez à l’interpréteur de lire et d’exécuter ce fichier ligne par ligne. Ces fichiers portent par convention l’extension .py.
Un script Python est un fichier texte brut : n’importe quel éditeur de texte suffit à en écrire un. L’application “Notepad” sous Windows, “Gedit” sous Linux ou “TextEdit” sous MacOS font parfaitement l’affaire.
Important
Les outils riches tels que Microsoft Word, LibreOffice ou Pages ne fonctionneront pas pour cela. Ils ne produiront pas des fichiers texte simples, mais enrichiront le texte avec beaucoup de méta-informations qui ne peuvent pas être interprétées par l’interpréteur Python.
Sous MacOS, “TextEdit” démarre par défaut en mode texte enrichi : allez dans le menu Format et choisissez “Convertir au format texte” avant de taper quoi que ce soit.
Une fois le fichier hello_world.py enregistré, on l’exécute en donnant son nom à l’interpréteur :
Cette ligne se lit comme une phrase : « interpréteur Python, exécute le fichier hello_world.py ». Il n’y a rien d’autre. Toute exécution d’un programme Python, y compris celle déclenchée par le bouton « Exécuter » d’un éditeur, revient à cette commande.
Information
Parfois, vous rencontrerez des fichiers contenant des instructions Python avec une extension .ipynb. Ce sont des “notebooks”, et ils sont destinés à être lus avec un logiciel appelé Jupyter.
Les notebooks permettent d’entrelacer des codes Python et des cellules Markdown, pour fournir une belle visualisation d’un script. De plus, les sorties des commandes Python telles que print (ou les figures produites avec des outils comme matplotlib) apparaissent en ligne. Cela en fait un format pratique pour les tutoriels par exemple.
Le répertoire courant et les chemins
Dans la commande précédente, hello_world.py est un chemin relatif : il ne dit pas où se trouve le fichier, seulement comment y arriver depuis le répertoire courant du terminal. Si ce répertoire n’est pas le bon, l’interpréteur ne trouve rien :
Le terminal affiche généralement son répertoire courant dans le prompt, mais vous pouvez toujours le demander explicitement :
Vous avez donc trois façons d’exécuter le même fichier, selon d’où vous partez. Notez que le séparateur de dossiers et la forme des chemins absolus dépendent du système :
| Commande | Fonctionne si… |
|---|---|
python hello_world.py |
le répertoire courant est celui qui contient le fichier. |
python session_2\hello_world.py |
le répertoire courant contient le sous-dossier session_2. |
python C:\Users\moi\imt\info\env\session_2\hello_world.py |
toujours – c’est un chemin absolu, il part de la lettre de lecteur. |
| Commande | Fonctionne si… |
|---|---|
python hello_world.py |
le répertoire courant est celui qui contient le fichier. |
python session_2\hello_world.py |
le répertoire courant contient le sous-dossier session_2. |
python C:\Users\moi\imt\info\env\session_2\hello_world.py |
toujours – c’est un chemin absolu, il part de la lettre de lecteur. |
| Commande | Fonctionne si… |
|---|---|
python3 hello_world.py |
le répertoire courant est celui qui contient le fichier. |
python3 session_2/hello_world.py |
le répertoire courant contient le sous-dossier session_2. |
python3 /home/moi/imt/info/env/session_2/hello_world.py |
toujours – c’est un chemin absolu, il part de la racine /. |
| Commande | Fonctionne si… |
|---|---|
python3 hello_world.py |
le répertoire courant est celui qui contient le fichier. |
python3 session_2/hello_world.py |
le répertoire courant contient le sous-dossier session_2. |
python3 /Users/moi/imt/info/env/session_2/hello_world.py |
toujours – c’est un chemin absolu, il part de la racine /. |
Attention
Le répertoire courant ne sert pas seulement à trouver le script : il sert aussi à résoudre tous les chemins relatifs que le script lui-même utilise. Un programme qui contient open("donnees.csv") cherche ce fichier dans le répertoire courant du terminal, pas dans le dossier où le script est rangé.
C’est pour cela que le même programme peut fonctionner puis échouer sans avoir été modifié : ce n’est pas le programme qui a changé, c’est l’endroit d’où vous l’avez lancé.
Le bouton « Exécuter » de l’éditeur, démystifié
Vous avez probablement déjà utilisé un éditeur qui propose un bouton « Exécuter » (ou ▷). Ce bouton ne fait rien de plus que ce que vous venez de faire à la main : il ouvre un terminal, y choisit un répertoire courant, y choisit un interpréteur, et lance la commande.
Le problème est qu’il fait ces trois choix à votre place, et pas toujours ceux que vous croyez :
- L’interpréteur peut ne pas être celui que vous attendez, en particulier si plusieurs versions de Python sont installées, ou si votre projet dispose d’un environnement isolé.
- Le répertoire courant peut être le dossier du fichier, ou la racine du projet ouvert, selon l’éditeur et sa configuration. D’où des erreurs de fichier introuvable qui apparaissent et disparaissent sans raison apparente.
- Les arguments ne peuvent en général pas être passés sans configurer l’éditeur.
Savoir lancer un programme depuis un terminal n’est donc pas une punition avant de mériter les outils confortables : c’est ce qui vous permet de comprendre ce que fait le bouton, de diagnostiquer une erreur, et plus tard de faire exécuter votre code par une autre machine, où il n’y a évidemment aucun bouton.
Pour aller plus loin
Passer des arguments à un script
Mettre son code dans un fichier permet aussi de lui passer des arguments, c’est-à-dire de le paramétrer au lancement plutôt que de modifier le code entre deux exécutions. Les arguments sont récupérés dans la liste sys.argv, dont le premier élément est le nom du script lui-même :
C’est ce mécanisme qui permet d’écrire un programme réutilisable, et de l’appeler en boucle depuis un script shell sur des dizaines de fichiers différents. Pour des besoins plus riches (options nommées, valeurs par défaut, aide automatique), la bibliothèque standard fournit le module argparse.
Les options de l’interpréteur
L’interpréteur accepte lui aussi des options, à placer avant le nom du script. Les plus utiles au quotidien :
| Option | Effet |
|---|---|
python -c "print(2+3)" |
exécute directement l’instruction donnée, sans fichier. |
python -m module |
exécute un module installé comme un programme (par exemple python -m pip). |
python -i script.py |
exécute le script puis ouvre une session interactive, en conservant les variables. |
python -O |
désactive les assertions (assert) et active quelques optimisations. |
La liste complète est décrite dans la documentation officielle.