Ce billet fait partie dâune sĂ©rie de billets : #atelier-python.
- Article prĂ©cĂ©dent : đ Atelier Python âą â Nombre mystĂšre.
- Article suivant : (à venir)
Merci de laisser un commentaire si vous avez essayé ou fini cet atelier. Le commentaire sera publié que si vous en faite la demande.
Dans ce billet, nous allons revenir un peu en arriĂšre pour mettre en Ćuvre Python en dehors dâun IDE
.
Ce billet est destinĂ© aux personnes nâayant pas accĂšs Ă Thonny IDE, soit parce quâil nâest pas disponible sur la plateforme utilisĂ©e ou soit parce quâil nâest pas installĂ©.
Installation de Python
Si vous utilisez Linux, vous nâaurez pas besoin dâinstaller Python qui fait gĂ©nĂ©ralement partie des paquets de base.
Cet atelier se limitant à Python 3, on va commencer par vérifier que vous avez la bonne version. Depuis un terminal (CTRL + ALT + T) tapez :
python3 --version
ou
python --version
Vous devriez obtenir quelque chose qui ressemble à cela :
Python 3.10.6
Si Python 3 nâest pas prĂ©sent, vous pouvez lâinstaller Ă lâaide :
sudo apt install python3
Un Ă©diteur de texte
Si vous avez un Ă©diteur de texte favori, prenez-le câest le bon. Sinon, voici une liste dâĂ©diteur de texte minimalistes, que vous pouvez utilisĂ©.
Ăditeur | Commande | Ăditeur par dĂ©faut de la plateforme |
---|---|---|
Featherpad | Lubuntu (Lxqt) | |
Gedit | gedit | Ubuntu (GNOME) |
Kate | Kubuntu (KDE) | |
Leafpad | Lubuntu (Lxde) | |
Mousepad | mousepad | Xubuntu (Xfce) / RaspPI OS |
NotePad | Windows | |
Pluma | Mate | |
TextEdit | Mac OS | |
Xed | xed | Linux Mint |
En ligne de commande, vous pouvez utiliser nano présent sur la plupart des Linux.
Faut-il prendre un Ă©diteur de texte ou un IDE
 ?
Si vous avez lâhabitude dâutiliser un IDE
, il est certain que câest la meilleure option. Un IDE
Ă beaucoup dâavantage, il va vous assister dans lâĂ©criture du programme, mais câest souvent aussi un environnement qui amĂšne sa complexitĂ© propre (dâoĂč lâintĂ©rĂȘt de Thonny IDE qui a un mode spĂ©cifique pour les dĂ©butants)., si ce nâest pas le cas le choix vous simplifiera la vie Ă terme, mais qui dans un premier temps risque de vous compliquer la vie.
Cependant câest justement lâobjet de ce billet que de vous apprendre Ă Ă©crire et exĂ©cuter du code Python avec un outillage minimal et facile a avoir sur nâimporte quel ordinateur.
Ăcrire le programme « helloworld » avec nano
nano est un éditeur de texte en ligne de commande, nous allons voir comment faire pour écrire un programme avec cet éditeur en détail. La procédure est facilement adaptable à tout autre éditeur.
Pour commencer crĂ©er un rĂ©pertoire oĂč vous allez dĂ©poser vos programmes :
cd ~ # Aller dans le répertoire de votre utilisateur
mkdir atelier-python # CrĂ©ation dâun rĂ©pertoire de travail
cd atelier-python # On se positionne dans le répertoire de travail
Ensuite on va créer un nouveau fichier helloworld.py
, lâextension .py
indiquant quâil sâagit dâun programme Python.
nano helloworld.py
LâĂ©diteur sâouvre et on peut Ă©crire notre programme :
print("Hello, World !")
Pour sauvegarder votre travail, utiliser CTRL + X. Le message suivant sâaffiche :
Save modified buffer?
Y Yes
N No ^C Cancel
Entrez Y
pour confirmer la sauvegarde. Le message suivant sâaffiche :
File Name to Write: helloworld.py
Appuyez sur ENTRĂE
pour confirmer le nom.
Votre programme a été sauvegardé dans le fichier helloworld.py
.
Exécuter le programme « helloworld » depuis un terminal
Pour exĂ©cuter votre programme python, vous devez vous placer dans le dossier oĂč il se trouve.
Si vous ĂȘtes sorti du terminal, ouvrez une nouvelle session (CTRL + ALT + T) et positionnez-vous dans le rĂ©pertoire du programme :
cd ~/atelier-python # On se positionne dans le répertoire de travail
Pour exécuter le programme vous devrez utiliser la syntaxe suivante :
python3 helloworld.py
Sâil nây a pas dâerreur, il sâexĂ©cutera et affichera :
Hello, World !
Et voilà , vous avez exécuté votre premier programme Python comme cela a été fait avec Thonny IDE.
Exécuter un programme Python sous Linux
Linux prend en compte nativement les langages interprétés comme Python, il faut réunir pour cela deux conditions:
Rendre le fichier du programme exécutable
Pour exécuter un programme, il suffit de se rendre dans son dossier et de préfixer le nom du programme par le chemin relatif ./
.
Essayons :
./helloworld.py
Une erreur va probablement sâafficher, indiquant que le fichier nâest pas exĂ©cutable.
bash: ./helloworld.py : Permission denied
Regardons les droits du fichier :
ls -la helloworld.py
En rĂšgle gĂ©nĂ©rale, la configuration ne donnera que les droits de lecture et dâĂ©criture Ă lâutilisateur courant et Ă son groupe, puis uniquement les droits de lecture aux autres utilisateurs.
-rw-rw-r-- 1 USER GROUP 24 sept. 28 13:36 helloworld.py
On peut changer cela, par exemple en donnant les droits dâexĂ©cution Ă tous les utilisateurs :
chmod +x helloworld.py
Regardons ce qui a changé au niveau des droits du fichier :
ls -la helloworld.py
On note lâarrivĂ©e de 3 caractĂšres x
indiquant respectivement exĂ©cutable pour lâutilisateur associĂ© au fichier, pour le groupe associĂ© au fichier et le dernier pour tous les utilisateurs.
-rwxrwxr-x 1 USER GROUP 24 sept. 28 13:36 helloworld.py
On peut maintenant exécuter le fichier :
./helloworld.py
Cependant, une autre erreur apparaßt, car Linux ne sait pas comment interpréter ce fichier.
./helloworld.py: line 1: syntax error near unexpected token `"Hello, World !"'
./helloworld.py: line 1: `print("Hello, World !")'
Il reste donc Ă faire savoir Ă Linux quâil doit utiliser lâinterprĂ©teur Python.
Associer le fichier Ă lâinterprĂ©teur Python (shebang)
Sous Windows, câest lâextension du fichier qui indique au systĂšme comment doit-ĂȘtre traiter un fichier. Lorsque vous installer Python pour Windows, une configuration est faite au niveau du systĂšme pour associer tous les fichiers finissant par .py
Ă lâinterprĂ©teur Python.
Nous verrons que cela nâa pas toujours de sens, certain fichiers Python nâaillant pas vocation Ă ĂȘtre exĂ©cutĂ© directement depuis la ligne de commande.
Sous Linux, les exĂ©cutables sont reconnus Ă lâaide dâun « nombre magique » (magic number). La tache prenant en charge le chargement dâun programme recherche se nombre magique pour savoir comment le fichier doit ĂȘtre traitĂ©, comment il doit ĂȘtre chargĂ© puis exĂ©cutĂ© (plus gĂ©nĂ©ralement traitĂ©, car les images GIF, PNG, JPEG⊠utilisent Ă©galement ce mĂ©canisme. Ce nombre est gĂ©nĂ©ralement stockĂ© au format binaire, une solution a donc Ă©tĂ© mise en place pour les fichiers interprĂ©tĂ©s (fichiers texte), cette solution sâappelle le shebang.
Le shebang est en fait une version lisible par lâhomme dâun magic number dans un fichier exĂ©cutable, la chaĂźne dâoctets magique Ă©tant 0x23 0x21, lâencodage Ă deux caractĂšres en ASCII de #!
. Ce nombre magique est détecté par la famille de fonctions exec()
du noyau Linux, qui détermine si un fichier est un script ou un binaire exécutable.
Pour un script Python 3, vous devrez ajouter en début de fichier :
#!/usr/bin/env python3
Pour corriger la derniĂšre erreur, vous devez donc Ă©diter votre code.
Ouvrez le fichier préalablement sauvegardé :
nano helloworld.py
Placez-vous sur la premiĂšre ligne du fichier et ajouter la ligne ci-dessus, puis sauvegarder.
On va, enfin, pouvoir exécuter le fichier sans préciser la commande python3
sur la ligne de commande :
./helloworld.py
Liens
- Le terme magic number expliqué sur Wikipedia.
- Le shebang expliqué sur Wikipedia.
኿