5.4. Éditeurs

Il est important de choisir des outils avec lequels on se sent à l’aise, car ce sont avec ces derniers que l’on passera la majeure partie de notre temps de programmeur ! De nombreux logiciels permettent de coder, même le bloc-notes de Windows pourrait suffire ! Il est toutefois vivement conseillé de choisir un logiciel plus avancés, la coloration syntaxique étant un minimum vital.

Il ne faut pas hésiter à tester de nombreux éditeurs, à regarder sur internet comment les configurer, quels sont les avis des utilisateurs...

Dans cette annexe, nous nous concentrerons sur la présentation des interpréteurs et des éditeurs.

5.4.1. Interpréteurs interactifs

5.4.1.1. IDLE

IDLE (pour Integrated DeveLopment Environment) est un interpréteur interactif plus évolué (grâce à sa coloration syntaxique par exemple). Il s’agit d’une manière plus agréable pour débuter que le terminal Windows, qui est très austère et peu aisé d’utilisation.

Il est installé en même temps que Python sous Windows, mais il peut être nécessaire de l’installer depuis les dépôts sous Linux ou les autres systèmes, même si son intérêt est alors moindre.

5.4.1.2. IPython

IPython est un interpréteur interactif qui améliore significativement l’interpréteur par défaut, en proposant de nombreuses fonctionnalités :

  • auto-complétion avec tab (comme dans le terminal Unix), prenant en compte les méthodes et attributs des objets ;
  • un historique persistant des commandes exécuées ;
  • une indentation automatique ;
  • des raccourcis et des commandes « magiques » permettant de tester et débugger ;
  • la possibilité de lancer des commandes bash ;
  • sortie colorée et plus agréable.

Warning

Actuellement, iPython n’est compatible qu’avec les versions 2.x.

Je me contenterai de présenter les principales fonctionnalités et renvoie à la documentation pour un usage plus détaillé. Il est possible d’accéder à une documentation sommaire dans le terminal en tapant ?. L’auto-complétion est très pratique à la fois éviter d’écrire complètement les commandes, mais aussi pour avoir un résumé rapide des méthodes et des attributs des objets, sans avoir besoin de consulter la documentation !

Une commande bash s’exécute en la préfixant par un point d’exclamation ! :

# affichage de la date
In [1]: !date
dim. mai 30 18:23:34 EEST 2010

# création d'un dossier appelé "test"
In [2]: !mkdir test

Une commande magique commence par le signe pourcentage % (utiliser %magic pour accéder à la liste complète des commandes magiques ainsi qu’à leur description, et %lsmagic pour obtenir uniquement la liste). Les plus utiles sont :

  • %run module : exécute un module et importe dans l’interpréteur les variables définies dans ce dernier. L’avantage est qu’à chaque %run, les définitions des objets sont mises à jour, contrairement à ce qui se passe lorsque avec import.
  • %timeit fonction : exécute un grand nombre de fois la fonction passée en argument et affiche le temps moyen d’exécution.

De plus, l’option -pylab permet d’ajouter un support interactif de la librairie matplotlib, ce qui permet de tracer et analyser rapidement des données.

5.4.2. Environnements de développement

5.4.2.1. Éditeurs texte

Malgré l’apparence spartiate des éditeurs de texte, nombre d’entre eux sont largement suffisants pour le débutant, et certains peuvent même être fortement personnalisés jusqu’à devenir de vrais IDE ! Voici une liste des éditeurs texte les plus répandus :

Footnotes

[1]Ces deux logiciels, correctement configurés, peuvent devenir très puissants et sont d’ailleurs très utilisés par les “geeks” (qui se livrent une guerre acharnée pour déterminer lequel est le meilleur des deux). Toutefois il faut de la patience et de la pratique pour s’y habituer.

5.4.2.2. Eclipse (Pydev)

L’IDE Eclipse, à l’origine prévu pour la programmation en Java, possède un système de plugins qui permet de l’étendre si facilement qu’un grand nombre d’extensions ont vu le jour et ajoutent le support de nombreux langages et d’outils.

Le plugin dédié au Python s’appelle PyDev.

On peut noter que la suite Aptana (basée sur Eclipse, et que l’on peut ajouter en plugin à ce dernier), qui se concentre sur le développement web, contient aussi PyDev.