cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Ce billet fait partie d’une sĂ©rie de billets : #atelier-python.

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

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog