Participer au site avec un Tip
Rechercher
 

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 :

Contrôler l'environnement d'exécution Python

L'IDE Spyder Le Zen de Python


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.

Contrôler l'exécution d'un script Python dans un environnement Unix/Linux

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émarrage explicite de l'environnement Python souhaité

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)
Fichier sample.py : un programme Python basique

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 ~]$ 
Exemple de démarrage de divers interpréteurs Python
selon le système Unix/Linux que vous utilisez, le lanceur 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.
sur un système Unix/Linux, les exécutables sont, presque tous, accessibles à partir du dossier /usr/bin.

Démarrage d'un script Python grâce au shebang de votre script

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)
Fichier sample.py : un programme Python basique
pour que votre shebang soit effectif, il faut que votre script ait bien reçu les droits d'exécutions pour les utilisateurs considérés. Assez classiquement, on peut considérer la ligne de commande 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]$ 

Passer des paramètres à votre script Python sous Linux/Unix

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)
Fichier sample2.py : exemple d'un script affichant les paramètres passés sur la ligne de commande

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]$ 

Contrôler l'exécution d'un script Python dans un environnement Windows

Sous Windows, vous pouvez démarrez un script Python via deux shells différents :

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)
Fichier sample.py : un programme Python basique

Utilisation d'un shell Batch (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.

Demande d'ouverture d'un 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.

vous n'êtes pas obligé de tout taper. Commencez à taper 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é.
Exemple de démarrage d'un script Python

Utilisation de PowerShell (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.

Demande d'ouverture d'une fenêtre 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.

vous n'êtes pas obligé de tout taper. Commencez à taper 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.
Exemple de démarrage d'un script Python

Passer des paramètres à votre script Python sous Windows

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)
Fichier sample2.py : exemple d'un script affichant les paramètres passés sur la ligne de commande

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> 

Contrôler l'exécution d'un script Python dans un votre IDE

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.

Exemple de démarrage d'un script Python via PyCharm (étape 1/3)

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.

Exemple de démarrage d'un script Python via PyCharm (étape 2/3)

Vous pouvez maintenant rajouter vos paramètres dans le champ « Parameters ».

Exemple de démarrage d'un script Python via PyCharm (étape 3/3)

Il ne reste plus qu'à relancer votre programme Python.


L'IDE Spyder Le Zen de Python