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)"

Executer...

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 :

Installation de NppExec avec le 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 :

Exécution avec NppExec et résultat dans la console intégrée

 

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 !

Publicités

7 Réponses

  1. Nadley

    Salut,

    Si tu cherches un editeur sympa pour du python et open source qui est multiplateforme regarde du côté de Komodo Edit. Attention la version IDE est elle payante. Cet éditeur se base sur le moteur Gecko de Firefox et propose l’auto complétion et d’autre truc sympa.

    J'aime

    25 avril 2012 à 7:35

    • Salut !

      Merci du conseil, je regarderai ça. Je t’avoue que je n’ai pas encore cherché un IDE dédié à Python… Si en plus d’être bien, il est multiplateforme, il va m’intéresser !

      J'aime

      26 avril 2012 à 3:43

      • Nadley

        Autre point c’est qu’il n’est pas dédié à qu’à Python il convient aussi très bien pour du PHP, HTML, CSS. Et après il sait gérer la coloration syntaxique d’un grand nombre de langage.

        J'aime

        26 avril 2012 à 4:29

  2. Salut ;
    Merci pour l’article, c’est très intéressant,
    Il faut encourager les gens à utilisé les logiciels gratuits.

    J'aime

    19 octobre 2012 à 12:34

  3. De rien ! Content qu’il vous ait plus.
    Il y a de très bons logiciels gratuits, suffisants pour la plupart des usages. Pourquoi s’en priver ? 🙂

    J'aime

    19 octobre 2012 à 8:53

  4. ratus

    merci, très utile quand on ne veut pas s’arracher les cheveux !!

    J'aime

    7 janvier 2015 à 11:56

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s