Accès rapide :
Contrôler l'exécution d'un script Python dans un environnement Unix/Linux
Démarrage explicite de l'environnement Python souhaité
Démarrage d'un script Python grâce au shebang de votre script
Passer des paramètres à votre script Python sous Linux/Unix
Contrôler l'exécution d'un script Python dans un environnement Windows
Utilisation d'un shell Batch (cmd.exe)
Utilisation de PowerShell (cmd.exe)
Passer des paramètres à votre script Python sous Windows
Contrôler l'exécution d'un script Python dans un votre IDE
Il est possible d'installer en parallèle sur un même poste plusieurs environnements d'exécution Python (par exemple, un environnement Python 2 et un autre en version 3). Nous allons voir, au travers de ce chapitre, comment contrôler quel est l'environnement Python qui va exécuter votre script. Plusieurs situations sont à considérer : nous allons les étudier une à une.
Sous environnement Unix/Linux, vous avez deux possibilités pour contrôler l'exécution d'un programme Python. Soit vous démarrez explicitement l'environnement d'exécution souhaité et vous lui spécifiez le script à lancer en paramètre. Soit vous utilisez le « Shebang » de votre script pour indiquer quel est l'environnement à utiliser.
Démarrer un environnement d'exécution Python en lui spécifiant le script à exécuter est certainement la solution la plus simple et la plus « passe partout » : elle marche sur tous les systèmes d'exploitation.
Considérons l'exemple de code suivant (oui je sais, c'est toujours le même exemple de code, mais nous allons bientôt attaquer l'étude du langage).
1 2 3 4 5 6 7 8 9 10 |
premiereChaine = input("Veuillez saisir un nombre : ") secondeChaine = input("Veuillez saisir un autre nombre : ") a = float(premiereChaine) b = float(secondeChaine) print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) |
Pour démarrer ce programme, veuillez ouvrir une console shell et y saisir la ligne de commande suivante.
dominique@fedoradom ~]$ python sample.py Veuillez saisir un nombre : 10 Veuillez saisir un autre nombre : 5 a + b = 15.0 a - b = 5.0 a * b = 50.0 a / b = 2.0 [dominique@fedoradom ~/Desktop]$
En choisissant l'interpréteur à démarrer, vous pouvez choisir entre un environnement Python 2 ou Python3. Voici quelques exemples de lancement d'un environnement d'exécution Python.
dominique@fedoradom ~]$ python2 Python 2.7.18 (default, Apr 20 2020, 00:00:00) [GCC 10.0.1 20200328 (Red Hat 10.0.1-0.11)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() [dominique@fedoradom ~]$ python3 Python 3.8.2 (default, Feb 28 2020, 00:00:00) [GCC 10.0.1 20200216 (Red Hat 10.0.1-0.8)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit(); [dominique@fedoradom ~]$ python Python 3.8.2 (default, Feb 28 2020, 00:00:00) [GCC 10.0.1 20200216 (Red Hat 10.0.1-0.8)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() [dominique@fedoradom ~]$ ls -l /usr/bin/python lrwxrwxrwx. 1 root root 9 2 mars 15:05 /usr/bin/python -> ./python3 [dominique@fedoradom ~]$
python
est en fait un lien symbolique vers soit un Python 2 ou un Python 3.
Dans mon cas, vous aurez constaté qu'il pointe en réalité une version 3 de l'interpréteur Python.
/usr/bin
.
Vous vous posez certainement une question fort pertinente : qu'est-ce qu'un « shebang » ?
Le shebang, introduit par la séquence #!
en première ligne d'un fichier de script, indique au système d'exploitation (de type Linux/Unix) quel
est l'interpréteur permettant l'exécution de votre script. Par défaut, l'interpréteur utilisé est .
Voici comment définir un shebang dans votre script (la première ligne en couleur verte) permettant le lancement d'un script Python.
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/usr/bin/python3 premiereChaine = input("Veuillez saisir un nombre : ") secondeChaine = input("Veuillez saisir un autre nombre : ") a = float(premiereChaine) b = float(secondeChaine) print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) |
chmod
suivante qui donne, notamment, le droit d'exécution qu'à l'utilisateur
propriétaire du script.
[dominique@fedoradom ~/Desktop]$ chmod 755 sample.py [dominique@fedoradom ~/Desktop]$ ./sample.py Veuillez saisir un nombre : 10 Veuillez saisir un autre nombre : 5 a + b = 15.0 a - b = 5.0 a * b = 50.0 a / b = 2.0 [dominique@fedoradom ~/Desktop]$
Considérons le nouveau programme suivant : il permet d'afficher tous les paramètres passés sur la ligne de commande. Nous reviendrons sur ces possibilités plus en détails plus tard dans ce tutoriel.
1 2 3 4 5 6 |
#!/usr/bin/python3 import sys for param in sys.argv[1:]: print(param) |
Pour lancer ce nouveau programme avec des paramètres, vous pouvez lancer l'une des deux commandes suivantes.
[dominique@fedoradom ~/Desktop]$ python3 sample2.py 10 20 30 10 20 30 [dominique@fedoradom ~/Desktop]$ chmod 755 sample2.py [dominique@fedoradom ~/Desktop]$ ./sample2.py toto titi tata toto titi tata [dominique@fedoradom ~/Desktop]$
Sous Windows, vous pouvez démarrez un script Python via deux shells différents :
cmd.exe
powershell.exe
Nous allons tester ces deux possibilités en considérant toujours le même script sample.py
: pour rappel, en voici son code.
1 2 3 4 5 6 7 8 9 10 |
premiereChaine = input("Veuillez saisir un nombre : ") secondeChaine = input("Veuillez saisir un autre nombre : ") a = float(premiereChaine) b = float(secondeChaine) print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) |
cmd.exe
)
Le shell Batch est le shell (la console de saisie de ligne de commandes) historique de la plateforme Windows. C'est normalement elle qui permet
l'exécution des scripts d'extension .bat
(d'où l'extension de fichier). Ce shell vous permettra de lancer vos scripts python autant
de fois que nécessaire et avec tous les paramètres souhaités.
Commencez par enclencher la séquence de touches Windows+R
(ou Windows correspond à la touche avec le logo de l'entreprise) : cela
devrait lancer la fenêtre Exécuter (Run en anglais). Saisissez-y cmd.exe
pour lancer une fenêtre de Shell Batch.
Pour démarrer un script Python dans votre shell, veuillez y saisir la commande python sample.py
, comme le montre la capture d'écran
suivante.
python sa
puis appuyez sur la touche de tabulation pour automatiquement
compléter le nom du script Python. Si le dossier contient plusieurs fichiers commençant par sa
, appuyez plusieurs fois sur la touche
de tabulation jusqu'à obtenir le fichier désiré.
cmd.exe
)
PowerShell est le nouveau shell de la plateforme Windows : il est plus moderne et permet plus de possibilités (à condition de bien savoir s'en servir).
Dans notre cas, nous allons simplement nous en servir pour démarrer nos scripts Python. Il n'y a donc pas grand-chose à maîtriser.
Commencez par saisir powershell.exe
pour démarrer votre PowerShell.
Pour démarrer un script Python dans votre PowerShell, veuillez y saisir la commande python ./sample.py
, comme le montre la capture d'écran
suivante.
pyt
puis appuyez sur la touche de tabulation pour automatiquement
compléter le nom de l'exécutable Python. Si le dossier contient plusieurs fichiers commençant par pyt
, appuyez plusieurs fois sur la touche
de tabulation jusqu'à obtenir le fichier désiré. Procédez de même pour compléter le nom du script en saisissant sa
puis en utilisant
la touche de tabulation.
Considérons le programme suivant : il permet d'afficher tous les paramètres passés sur la ligne de commande. Nous reviendrons sur ces possibilités plus en détails plus tard dans ce tutoriel.
1 2 3 4 5 6 |
#!/usr/bin/python3 import sys for param in sys.argv[1:]: print(param) |
Pour lancer ce nouveau programme avec des paramètres, choisir un des deux shells proposés ci-dessus et lancez la ligne de commande suivante :
PS C:\Users\Dominique> python sample2.py 10 20 30 10 20 30 PS C:\Users\Dominique>
Bien entendu, vous pouvez aussi faire tout cela de manière intégrée dans votre atelier favori. Je vous renvoie vers les chapitres précédents pour de plus amples informations sur le choix de l'interpréteur à utiliser.
Pour ce qui est du contrôle des paramètres passés à votre script, voici comment gérer cet aspect avec l'IDE PyCharm. Commencez par lancer une première fois le script suivant sans paramètre, comme le montre la capture d'écran suivante : cela crée automatiquement une configuration de lancement.
Ensuite, demandez l'assistant de configuration d'un lancement : cela se fait via le bouton de choix du lanceur situé en haut et à droite de votre atelier de développement, comme montré dans la capture d'écran suivante.
Vous pouvez maintenant rajouter vos paramètres dans le champ « Parameters ».
Il ne reste plus qu'à relancer votre programme Python.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :