Programmation Python/Éditeurs

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


Utilité des éditeurs[modifier | modifier le wikicode]

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 muni de la fonction de coloration syntaxique du code source pour Python, qui aide à relire rapidement et éviter les fautes de syntaxe.

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

  • SciTE
  • DrPython
  • Eclipse
  • NetBeans[1]
  • NEdit
  • PythonWin[2]
  • Python scripter[3] : auto-complétion, navigation entre classe avec 'CTRL', génération et exécution des tests unitaires, debugger...
NEdit sous Gnome (Linux).

SciTE[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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é pour marcher pour un nombre important de personne.

Installation sous Linux[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

  • 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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

La traduction doit être téléchargée[4], 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[modifier | modifier le wikicode]

Scite.png


DrPython[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Installation de Eclipse[modifier | modifier le wikicode]

Eclipse est un environnement de développement intégré (EDI), générique et extensible (site officiel http://www.eclipse.org).

Initialement prévu pour développer en Java, 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[5] (compilateur non intégré).
  • Le Python via PyDev[6].

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[modifier | modifier le wikicode]

Eclipse


PyDev[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

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[modifier | modifier le wikicode]

Enfin, l'en-tête des fichiers .py doit toujours contenir le shebang :

#!/usr/bin/python3

et avec Python 2 leur encodage, comme :

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

ou

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

Ces pseudo-commentaires 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 systèmes, mais vous devez lui signaler lequel vous utilisez. Si votre système d'exploitation est configuré de telle manière que les frappes clavier génèrent des codes Utf-8, configurez votre éditeur de textes pour qu'il utilise lui aussi ce codage, et 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. C'est le cas de Windows.

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[modifier | modifier le wikicode]