< Programmation Python

Utilité des éditeurs

Si le mode interactif a permis d'apprendre très rapidement les bases du langage, par expérimentation directe, cette façon de faire présente toutefois un gros inconvénient : toutes les séquences d'instructions écrites disparaissent irrémédiablement après fermeture de l'interpréteur. Il convient donc de sauvegarder les programmes dans des fichiers, sur une mémoire morte, de manière à pouvoir les retravailler par étapes successives, les transférer sur d'autres machines, etc.

Pour ce faire, il est déconseillé d'utiliser de simples éditeurs de texte tels que Edit, Notepad ou WordPad, car ils ne sont pas ANSI "intelligent", ni munis de la fonction de coloration syntaxique du code source pour Python, qui aide à relire rapidement et à éviter les fautes de syntaxe. De plus, les éditeurs munis de la complétion automatique aident à taper le code source plus rapidement et en évitant les fautes de frappe.

Par conséquent, il vaut mieux en utiliser des spécialisés en programmation, appelés environnement de développement (EDI). Par exemple :

NEdit sous Gnome (Linux).

PyCharm

PyCharm est est un environnement de développement intégré utilisé pour programmer en Python.

Installation

Développé par l'entreprise JetBrains, PyCharm est un logiciel multi-plateforme qui fonctionne sous Windows, Mac OS X et Linux.

Il est décliné en édition professionnelle, diffusé sous licence propriétaire, et en édition communautaire diffusée sous licence Apache (donc 100 % gratuite), téléchargeable depuis le site officiel[4].

Configuration

Après installation il faut choisir l'interpréteur Python, dont la version déterminera les conseils fournis par l'IDE. Ils peuvent provenir de quatre environnements :

  • Virtualenv
  • Conda
  • System Interpreter
  • Pipenv

Si le programme doit ensuite tourner sur la machine hôte (sans IDE), le mieux est de prendre "System Interpreter".

Utilisation

PyCharm permet l'analyse de code et contient un débogueur graphique.

Il permet également la gestion des tests unitaires, l'intégration de logiciel de gestion de versions, et supporte le développement web avec Django.

Références

Visual Studio Code

Visual Studio Code (ou simplement nommé "code") est un logiciel éditeur de texte graphique, gratuit fonctionnant sous Windows. Il est capable d'effectuer la coloration syntaxique, l'auto-complétion et surtout le pliage de code (code folding), c'est à dire le masquage à volonté de différents blocs d'instructions (contenu d'une classe, d'une fonction, d'une boucle, etc.) : cette fonctionnalité se révèle extrêmement pratique lorsque vos scripts commencent à s'allonger... Il intègre également une fenêtre de terminal ainsi qu'un raccourci pour lancement des scripts.

Cet éditeur est disponible pour Windows sur https://code.visualstudio.com .

Langages supportés


Visual Studio Code prend immédiatement en charge presque tous les principaux langages informatiques.

Plusieurs d'entre eux sont inclus par défaut, comme HTML et CSS, et aussi JavaScript, TypeScript, Java, PHP, mais d'autres extensions de langage peuvent être trouvées et téléchargées gratuitement à partir de VS Code Marketplace[1].

Utilisation

Références

SciTE

SciTE (acronyme de Scintilla Text Editor) est un logiciel éditeur de texte graphique, gratuit et open source fonctionnant sous les environnements Linux et Windows. Il est capable d'effectuer la coloration syntaxique, l'auto-complétion et surtout le pliage de code (code folding), c'est à dire le masquage à volonté de différents blocs d'instructions (contenu d'une classe, d'une fonction, d'une boucle, etc.) : cette fonctionnalité se révèle extrêmement pratique lorsque vos scripts commencent à s'allonger... Il intègre également une fenêtre de terminal ainsi qu'un raccourci pour lancement des scripts.

Cet éditeur est disponible pour Windows et pour Linux sur http://www.scintilla.org/SciTE.html.

Scintilla étant une plateforme d'édition de texte qui propose par exemple des outils spécifiques pour corriger du code écrit avec SciTE. Ces deux logiciels sont principalement l'œuvre de leur créateur Neil Hodgson, qui les a placés sous une licence libre peu connue, l'Historical Permission Notice and Disclaimer.

Langages supportés

Les langages compris par SciTE. Il est actuellement capable d'appliquer une syntaxe de style à ces langages :

Les langages marqués par un astérisque doivent être vérifiés pour fonctionner pour un nombre important de personnes.

Installation sous Linux

L'éditeur Scintilla fait dorénavant partie des paquetages fournis d'office avec les distributions récentes de Linux. Sinon, téléchargez-le au départ du site web mentionné ci-dessus. Sinon :

  • téléchargez l'archive gscite***.tgz puis l'extraire avec tar ;
  • installez l'exécutable SciTE dans /usr/local/bin ;
  • installez tout le reste (fichiers *.properties) dans /usr/share/scite (et non /usr/share/gscite !).

Installation sous Windows

  • Téléchargez l'archive wscite***.zip puis l'extraire dans \Program files ;
  • installez une icône de lancement pour l'exécutable SciTe.exe.

Pour les deux versions

On peut personnaliser beaucoup de choses (polices, etc.) en éditant le fichier des propriétés globales (Menu Options → Open global options file).

Par exemple, pour activer de jolis symboles pour replier/déplier, dans la marge de gauche :

  • fold.symbols = 2 # pour de belles icônes + et - cerclées
  • fold.on.open = 1 # ainsi tout est plié au départ
  • margin.width =0 # pour supprimer la marge inutile

Pour forcer le remplacement automatique des tabulations par des groupes de 4 espaces :

  • tabsize = 4
  • indent.size = 4
  • use.tabs = 0

Traductions

La traduction doit être téléchargée[1], renommée en "locale.properties" et déplacée dans le même répertoire que les propriétés globales.

Il faut donc passer en root :

sudo nautilus

et aller dans le répertoire par défaut :

/usr/share/scite

Utilisation

DrPython

DrPython est un environnement d'exploration pour le langage Python. (Il y a des autres logiciels comme ça pour les autres langues, par exemple DrJava et DrScheme.) DrPython est un logiciel Python, donc il faut installer Python d'abord.

Téléchargez les suivantes :

- Python soi-même : du site web Python. L'installeur est disponible en cliquant "Windows installer", ou ici pour Python 2.7.

- La version du bibliothèque wxPython correspondant à la version de Python -- ça veut dire wxPython pour Python 2.7. En générale, c'est ici.

- DrPython; télécharger seulement le paquet du site Sourceforge ici.

Maintenant il faut installer Python et wxPython. Pour le faire, double-cliquez sur les fichiers vous avez téléchargé, commençant avec python-2.7.msi. Les installations sont en anglais. Il suffit de cliquer sur «Next» plusieurs fois, mais je vais aussi essayer de traduire les écrans.

Python 2.7
Anglais Français
Select whether to install Python 2.7 for all users of this computer. Install for all users/Install for just me (not available on Windows Vista) Choisissez à installer Python 2.7 pour tout utilisateur du ordinateur. Installer pour tout utilisateur/Installer pour seulement moi (pas disponible sur Windows Vista) [Le défaut, «Installer pour tout utilisateur», est probablement le plus facile.]
Select destination directory. Please select a directory for the Python 2.7 files. Choisissez dossier destination. Veuillez sélectionner un dossier pour les fichiers de Python 2.7. [Le défaut est bien.]
Customize Python 2.7. Select the way you want features to be installed. Customizez Python 2.7. Choisissez la façon d'installer les traits que vous préférez. [Le defaut est d'installer tout trait, qui est acceptable.]
Please wait while the installer installs Python 2.7. This may take several minutes. Veuillez patienter pendant que l'installeur installe Python 2.7. Ça peut prendre plusieurs minutes.
Completing the Python 2.7 installer. Special thanks to Mark Hammond, without whose years of freely shared Windows experience, Python for Windows would still be Python for DOS. Click the Finish button to exit the installer. Termine l'installeur Python 2.7. Remerciements spéciale à Mark Hammond, sans les années d'experience duquel Python pour Windows serait toujours Python pour DOS. Cliquez sur «Finish» pour quitter l'installeur.


Après vous avez fait ça, vous allez voir dans le menu Démarrer un groupe qui s'appelle Python 2.7, et dedans vous allez voir «IDLE (Python GUI)», «Module Docs», «Python (command line)» («Invite des commandes Python»), «Python Manuals», et «Uninstall Python» («Déinstaller Python»). Ç'est bien, mais on va continuer avec la bibliothèque wxPython.

wxPython 2.8
Anglais Français
Welcome to the wxPython2.8-unicode-py27 Setup Wizard. This will install wxPython 2.8.11.0 (unicode) for Python 2.7 on your computer. It is recommended that you close all other applications before continuing. Click Next to continue, or Cancel to exit Setup. Bienvenue à installeur wxPython2.8-unicode-py27. Ça va installer wxPython 2.8.11.0 (unicode) pour Python 2.7 sur votre ordinateur. C'est conseillé que vous fermez toute autre application avant de continuer. Cliquez «Next» pour continuer, ou «Cancel» pour quitter l'installeur. [Le plupart de celui-ci est commun dans les installeurs.]
License agreement. (The full wxWindows library license.) I accept the agreement./I do not accept the agreement. Accord de la licence [Ceux qui suit est le texte complet de la licence de la bibliothèque wxWindows.] J'accepte la licence./Je n'accepte pas la licence. [On peut accepter ; la licence est très douce.]
Select destination location. Where should wxPython be installed? Choisissez location destination. Où devrait wxPython être installe ? [Le défaut est le meilleur lieu.]
Select components. Which components should be installed? Choisissez composants. Quels composants devrait être installé ? [Il y a seulement un composant, qu'il faut installer. Alors, le défaut et parfait.]
Installing. Please wait while Setup installs wxPython2.8-unicode-py27 on your computer. Veuillez patienter pendant que l'installeur installe wxPython2.8-unicode-py27 sur votre ordinateur.
Completing the wxPython Setup Wizard. Setup has finished installing wxPython on your computer. Click Finish to install Setup. View README win32.txt./Compile Python .py files to .pyc./Create batch files for tool scripts. Termine l'installeur wxPython. L'installer a fini à installer wxPython sur votre ordinateur. Cliquez «Finish» pour quitter. Afficher README win32.txt./Compiler les fichiers Python .py à .pyc./Crèer fichiers pour [....]. [Décocher la première case, parce que c'est un fichier anglais, mais les autres sont utile.]


Après ça, vous allez voir une fenêtre noire qui va afficher un peu de texte et se ferme.

Maintenant, dépaquetez le dernier fichier que vous avez téléchargé : DrPython_3.11.3.zip. Vous allez trouver dedans un dossier avec beaucoup de fichiers. Cherchez un qui s'appelle drpython. (Il y aura au moins deux.) Double-cliquez le. Après ça vous allez voir une fenêtre qui paraît un peu comme cela :

Drpython-Screenshot-Empty

Félicitations ! Vous avez réussit à installer DrPython.

N.B. Il doit avoir une façon d'installer DrPython pour qu'on puisse l'ouvrir plus facilement, par exemple en créant un raccourci, mais je n'ai pas encoure trouvé.

Eclipse

Eclipse est un environnement de développement intégré (EDI), générique et extensible (site officiel http://www.eclipse.org). Son système de plugins permet d'ajouter des fonctionnalités diverses.

Initialement prévu pour développer en Java, grâce aux plugins il peut maintenant également gérer des projets développés avec d'autres langages de programmation tels que :

  • Le C et le C++ grâce à l'ensemble de plugins CDT (C Development Toolkit)[2] (compilateur non intégré).
  • Le Python via PyDev[3].
  • Avant l'arrivée d'Android Studio, le développement pour Android se faisait avec Eclipse grâce à l'ensemble de plugins ADT (Android Development Toolkit).

Certains IDE sont basés sur Eclipse, et permettent par exemple le développement de logiciel embarqués pour des systèmes temps réel.

Installation de Eclipse


La page de téléchargement d'Eclipse permet de récupérer une version déjà adaptée au langage ciblé sur http://www.eclipse.org/downloads/. Mais pour installer un plugin manuellement, il faut :

  • Lancer Eclipse, puis dans le menu déroulant :Help>Software Updates>Find and Install...
  • Cocher Search for new features to install, bouton Next. Bouton New Remote Site..., entrer l'adresse de téléchargement :
Name: Nom du plugin
URL: adresse du plugin, ex : http://www.eclipse.org/cdt/downloads.php
  • Bouton Finish, choisir un miroir proche puis continuer l'installation.

Utilisation de Eclipse


L'interface de l'IDE Eclipse est basée sur différentes perspectives. Une seule perspective n'est visible à la fois, et se compose de plusieurs vues. Exemples :

  • La perspective "Java" se compose par défaut de la vue "Package Explorer", de la vue éditeur de code en Java avec un onglet par fichier ouvert, de la vue "Outline" donnant la hiérarchie des éléments composant la classe du fichier ouvert.
  • La perspective "Debug" est ouverte automatiquement au lancement d'une application en mode débogage et se compose par défaut de la vue "Debug" affichant la pile d'appel, de la vue des points d'arrêt nommée "Breakpoints", de la vue éditeur de code en Java avec un onglet par fichier ouvert, de la vue "Outline" donnant la hiérarchie des éléments composant la classe du fichier ouvert.
  • Deux ou plusieurs perspectives peuvent être affichées conjointement.

Chaque vue est une sous-fenêtre qui a un titre et se place dans un cadre particulier de la fenêtre de l'IDE. Plusieurs vues peuvent partager le même cadre, auquel cas, un barre d'onglets permet de basculer entre les vues. Un double clic sur le titre d'une vue provoque l'affichage du cadre qui la contient en pleine fenêtre, réduisant les autres cadres à une icône sur les côtés. Un second double clic restaure les cadres.

Le menu "Window" permet de changer de perspective, et d'ajouter des vues à la perspective courante. Une vue peut également être retirée de la perspective affichée en utilisant la croix à droite du titre de la vue.

Eclipse

PyDev

PyDev est un plugin Eclipse pour le développement d'un projet Python (et Jython).

Il a été créé en Juillet 2003 par Aleks Totic et est maintenu depuis Octobre 2004 par Fabio Zadrozny. Il propose entre autres les fonctionnalités suivantes :

  • complétion de code,
  • analyse et mise en évidence de la syntaxe,
  • debug
  • ...

Installation du plugin PyDev

Sous Eclipse, voici la procédure à suivre pour installer le plugin :

  • Menu "Help" / "Software Updates" / "Find and install ..." / "Search for new feature to install"
  • "New Remote Site..." / Name : Python Dev, URL : http://pydev.org/updates/ / Finish

Une fois le plug-in installé, il faut configurer le compilateur Python :

  • Menu "Window" / "Preferences" / "PyDev" + "Interpreter Python" / "New"

Il vous faudra ensuite choisir l'exécutable python : "/usr/bin/python" sous Linux, "C:\Python\python.exe" sous Windows et valider, puis sélectionner les répertoires à inclure dans le PYTHONPATH (en cas de doute, prenez ceux qui vous sont proposés).

Créer un projet "Hoo hoo World" avec le plugin PyDev

Sous Eclipse, une fois le plug-in installé, choisir de créer un nouveau projet

  • Menu "File" / "New" / "Project"
  • Sélectionner Pydev Project / "Next"
  • Donner un nom et choisir la version correspondant à python (ex: 2.4).
  • Valider ("Finish") : Vous devez avoir une nouvelle entrée correspondant au projet
  • Clic droit sur le projet pour ajouter un nouveau module ("New" / "Pydev module")
  • donner lui un nom (ex: monScript)
  • saisir le code suivant dans le fichier :
print("Hoo hoo World")
  • sauvegarder (CTRL + S, ou clic sur la disquette, ou menu "File" / "Save")
  • exécuter : Bouton droit sur le fichier monScript / "Run as" / "Python run"
Pour les prochaines exécutions du script, utiliser la barre d'outil (symbole lecture blanc dans un rond vert) ou CTRL + F11.

Complétion auto

Pour voir la complétion automatique de code, utilisez CTRL + Espace.

Par exemple pour le code suivant :

x = "Bonjour"
x.

si l'on place le curseur après le point, et que l'on tape CTRL + Espace, l'ensemble des méthodes de la classe String seront proposées (ex: .upper() qui passe en majuscule la chaîne de caractère x).

Lancement des scripts

Certains EDI permettent de lancer les scripts en cliquant. Toutefois d'une manière générale, il faut les exécuter en lançant en ligne de commande l'interpréteur Python, en lui fournissant comme premier argument le nom du fichier qui contient le script, voire des paramètres supplémentaires comme autres arguments.

Par exemple, si vous avez placé un script dans un fichier nommé MonScript.py, il suffira d'entrer la commande suivante dans une fenêtre de terminal (ou une invite de commande sous Windows) pour que ce script s'exécute :

python3 MonScript.py (utiliser "python" à la place de "python3" sous Windows)

ou

python3 MonScript.py argument2 argument3

Par ailleurs, quand le fichier porte bien l'extension conventionnelle Python (.py), il a un icône Python et il est possible de l'exécuter simplement en cliquant sur son nom ou sur l'icône correspondante dans le gestionnaire de fichiers (c'est-à-dire l'explorateur, sous Windows, Gnome, ou Konqueror, sous KDE). En effet ces gestionnaires graphiques « savent » qu'il doivent lancer l'interpréteur Python chaque fois que leur utilisateur essaye d'ouvrir un fichier dont le nom se termine par .py (cela suppose bien entendu qu'ils aient été correctement configurés). La même convention permet en outre aux éditeurs « intelligents » de reconnaître automatiquement les scripts Python et d'adapter leur coloration syntaxique en conséquence.

Évitez cependant de choisir des noms qui risqueraient d'être déjà attribués à des modules python existants, tels que "math.py" ou "Tkinter.py".

Si vous travaillez avec IDLE sous Windows, vous pouvez lancer l'exécution du script en cours d'édition, directement à l'aide de la combinaison de touches <Ctrl-F5>.

En-tête des fichiers

Un fichier python commence en général par deux lignes indiquant l'interpréteur utilisé et l'encodage des caractères.

Shebang

La première ligne est le shebang qui indique le chemin de l'interpréteur Python pour exécuter le programme en ligne de commande sous Linux :

#!/usr/bin/python3

Cette ligne n'est pas nécessaire sous Windows, mais comme un programme Python est multi-plateforme (s'il n'utilise pas d'astuces spécifiques à un système d'exploitation), la présence de cette ligne reste toutefois utile. De plus elle permet de voir quelle version de Python est utilisée pour la syntaxe du fichier.

Encodage du fichier

Avec Python 2 il faut indiquer l'encodage, comme :

# -*- coding:Latin-1 -*-

ou

# -*- coding:Utf-8 -*-

ou tout autre encodage supporté par Python et l'éditeur de texte.

Ces commentaires spéciaux indiquent à Python que vous utiliserez dans votre script :

  • Soit le jeu de caractères accentués correspondant aux principales langues de l'Europe occidentale (Français, Italien, Portugais, etc.), codé sur un seul octet suivant la norme ISO-8859 ;
  • Soit le système de codage mondial sur deux octets appelé Unicode (dont la variante Utf-8 ne code que les caractères « spéciaux » sur deux octets, les caractères du jeu ASCII standard restant codés sur un seul octet). Ce dernier système commence à se répandre de plus en plus, car il présente l'avantage de permettre la coexistence de caractères de toutes origines dans le même document (caractères grecs, arabes, cyrilliques, japonais, etc.). C'est ce mode qu'il faut privilégier pour plus de compatibilité.

Python peut utiliser les deux encodages de caractères, mais vous devez lui signaler lequel vous utilisez.

Si votre éditeur de texte enregistre les fichiers en UTF-8, placez le second des pseudo-commentaires indiqués ci-dessus au début de chacun de vos scripts. Mac OS X et Linux utilisent ce codage.

Si votre système d'exploitation fonctionne suivant la norme ancienne (ISO-8859), vous devrez utiliser plutôt le premier pseudo-commentaire.

Si vous n'en indiquez aucun, vous recevrez de temps à autre des messages d'avertissement de la part de l'interpréteur, et vous éprouverez peut-être même quelques difficultés à éditer correctement vos scripts dans l'environnement IDLE (en particulier sous Windows).

Sous Python 3 ces problèmes d'encodage n’apparaissent pas car celui-ci utilise par défaut l'Unicode.

Références

Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.