Executer ses programmes Python depuis Notepad++
L’installateur Python fournit, en plus de l’interpréteur, l’éditeur IDLE. Il est efficace mais il est simple. Si vous souhaitez avoir une gestion plus complète de multiples fichiers ou des fonctions plus avancées, vous pouvez utiliser Notepad++. Question : comment facilement tester les programmes en cours de rédaction ?
Tout simplement en utilisant les fonctionnalités qu’offre Notepad++ pour exécuter des programmes. La première solution est d’utiliser les fonctionnalités du menu Exécution et son item Exécuter, accessible avec le raccourci clavier F5. On renseigne le champ avec la commande suivante :
C:\Python27\python.exe "$(FULL_CURRENT_PATH)"
python.exe est l’interpréteur Python. $(FULL_CURRENT_PATH) est une variable interne de Notepad++. Son contenu est le même que le presse-papier après avoir fait Édition / Coller dans le presse-papier / Copier le chemin complet du document actuel et bien sûr elle est mise à jour quand on change de document. Bien fait, non ? Vous pouvez enregistrer la commande et lui donner un raccourci particulier. Rajouter l’option -i à l’interpréteur a pour effet de rester en mode interpréteur interactif à la fin de votre programme. C’est pratique pour empêcher la console qui s’ouvrira en cliquant sur Exécuter de se fermer automatiquement à la fin du programme Python. Une autre solution est de mettre un raw_input() à la fin du programme. Voici un programme exemple :
def welcome():
print "En direct sur http://www.gradot.com !"
welcome()
raw_input("Appuyer sur ENTREE pour terminer...")
Une solution alternative est de passer par le plugin NppExec. Il suffit de l’installer grâce au Plugin Manager :
Il sera ensuite disponible dans le menu Compléments / NppExec. La fonctionnalité intéressante est la première, Execute…, accessible avec le raccourci clavier F6. On renseigne dans la fenêtre la même commande que précédemment et on clique sur OK. Cette fois, aucun programme externe ne s’ouvre puisqu’une console intégrée à Notepad++ apparait en bas de l’écran. Plus besoin d’un -i ou dans raw_input() pour empêcher la fermeture de la console Windows. Pour relancer votre programme une nouvelle fois, il suffit d’appuyer sur CTRL+F6.
Important ! Python exige que l’indentation ne soit pas faite avec une tabulation mais avec 4 espaces. Pour cela, il faut aller dans Paramétrage / Préférences… puis, dans l’onglet Menu langage/Tabulation, on coche Insérer des espaces et on s’assure que Taille vaut 4.
Voici un aperçu du résultat avec NppExec. Vous remarquerez que j’ai cliqué sur le dernier bouton en haut à droite de la barre d’outils pour afficher tous les caractères. On constate que l’indentation est bien faite avec 4 points orange, symbolisant chacun une espace :
Mise à jour du 08/08/2012 : après un temps d’utilisation, j’ai constaté plusieurs problèmes avec cette console intégrée (en tout cas avec la version que je possède). Les interactions en console sont un peu hasardeuses. Par exemple, si mon script contient raw_input(« Nombre ? = « ), je dois taper mon nombre et faire ENTRÉE avant de voir apparaitre le texte. De même, lors de l’utilisation d’une GUI avec Tk, il faut fermer la fenêtre Tk pour voir s’afficher tout le texte en attente dans la console. Lors de l’utilisation d’une GUI avec Qt, le programme se lance et rien ne s’affiche. Bref, ce plugin a encore des progrès à faire sur les flux de sa sortie, mais on espère que ça ira mieux dans quelques versions.
Il y a néanmoins toujours une raison de l’utiliser : si le programme plante, la console Windows se ferme mais pas celle intégrée. Pratique pour le débogage !





