IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Comment débugger python


Sujet :

Python

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut Comment débugger python
    Bonjour à tous,

    je suis débutant sur Python et je m'entraine à faire quelque exercices sous Windows (mais mon ultime est de l'utiliser sou Linux red hat).
    En attendant je suis sous Notpad++ mais quand il y a une erreur dans mon programme, il se ferme de suite... malgré la pause que je met en fin de programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    os.system("pause")
    Après quelques recherche, il me semble que Notepad++ n'est pas capable de débugger Python. En parcourant le net, je suis tombé sur ce logiciel : http://ninja-ide.org/

    Le connaissez vous ?
    Est-il valable ? Le post sur lequel je suis tombé date de 2013, on est en 2018, il existe peut-être un autre débugger plus récent. Je cherche vraiment quelque chose de léger, ce sont des petits programmes que je suis en train d'écrire.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Citation Envoyé par sam01 Voir le message
    En attendant je suis sous Notpad++ mais quand il y a une erreur dans mon programme, il se ferme de suite... malgré la pause que je met en fin de programme
    C'est parce que le programme se plante avant d'arriver à l'instruction os.system('pause')! Dommage car vous ne voyez pas toutes les informations affichées qui sont souvent suffisantes pour corriger l'erreur.
    Mais çà c'est aussi parce que vous lancez vos programme depuis l'explorateur Windows plutôt que de lancer la console Windows (cmd.exe) puis de lancer votre script en tapant "python monscript.py".

    Ceci dit, la première commande pour mettre au point ses programmes est "print". Elle vous permet d'afficher vos variables et de vous assurez quelles ressemblent à ce que vous attendez. Pour les petits programmes et les débutants, "print" est suffisant dans la plupart des cas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre expérimenté Avatar de zancrows
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2016
    Messages : 159
    Par défaut
    Bonjour,
    pour déboguer en python (sous windows) j'utilise un petit .bat que j'appelle debug.batou dedans je met l’exécution de mon script suivit d'une pause
    exemple:
    D:\python36\python.exe mon_script.py
    pause

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 321
    Par défaut
    Citation Envoyé par sam01 Voir le message
    Bonjour à tous,
    [...]
    En parcourant le net, je suis tombé sur ce logiciel : http://ninja-ide.org/

    Le connaissez vous ?
    Est-il valable ? Le post sur lequel je suis tombé date de 2013, on est en 2018, il existe peut-être un autre débugger plus récent. Je cherche vraiment quelque chose de léger, ce sont des petits programmes que je suis en train d'écrire.

    Merci d'avance pour votre aide.
    Bonjour,

    J'ai utilisé ninja IDE. Il est pas mal, relativement leger mais... Le debugger qui est utilisable via un plugin à installer ne fonctionne que pour les v2.x de python. J'ai aussi des doutes concernant la complétion, je ne suis plus sur qu'elle fonctionne.

    Concernant les IDE, personnellement, je suis passé sous Visual studio code. Qui fonctionne aussi bien sous Windows que Linux. Le plugin Python est désormais maintenu par Microsoft, le linting fonctionne parfaitement de même que la complétion.

    Vous pouvez aussi vous orienter vers eclipse et les plugins python. C'est une question de goûts. Personnellement ne j'aime pas éclipse. Même pour du java je préfère travailler avec NetBeans.

    A vous de tester et de retenir celui qui vous conviendra le mieux.

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Merci. Je pense que visual studio va me servir sur Windows. Mias quand je vais bosser sur du linux, je n’aurais pas d’interface graphique. Ca ne sera que des lignes de commandes.
    Du coup la question devient comment débugger du python sur linux sachant que je n’aurais accès qu’aux lignes de commandes ? Il existe peut être un mode debugg ou quelque chose comme ça ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par sam01 Voir le message
    Du coup la question devient comment débugger du python sur linux sachant que je n’aurais accès qu’aux lignes de commandes ? Il existe peut être un mode debugg ou quelque chose comme ça ?
    Vous avez toujours la possibilité d'utiliser pdb (le deboggueur inclus dans Python) et "vi" (l'editeur mode ligne de linux).
    Ceci dit, vous allez développer vos codes sur un environnement "confortable" puis les transférer sur Linux lorsqu'ils seront "au point" et "maintenables" i.e. capable de sortir un minimum d'informations pour diagnostiquer le problème rencontrés et le corriger "ailleurs".
    Après on peut faire des choses "remote" avec des display X déportés mais ce n'est pas spécifique à Python.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2012
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2012
    Messages : 321
    Par défaut
    Citation Envoyé par sam01 Voir le message
    Merci. Je pense que visual studio va me servir sur Windows. Mias quand je vais bosser sur du linux, je n’aurais pas d’interface graphique. Ca ne sera que des lignes de commandes.
    Du coup la question devient comment débugger du python sur linux sachant que je n’aurais accès qu’aux lignes de commandes ? Il existe peut être un mode debugg ou quelque chose comme ça ?
    Attention, je parle de visual studio Code.

    Visual Studio et Visual Studio Code ne sont pas les mêmes produits.

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Citation Envoyé par sam01 Voir le message
    Merci. Je pense que visual studio va me servir sur Windows. Mias quand je vais bosser sur du linux, je n’aurais pas d’interface graphique. Ca ne sera que des lignes de commandes.
    Du coup la question devient comment débugger du python sur linux sachant que je n’aurais accès qu’aux lignes de commandes ? Il existe peut être un mode debugg ou quelque chose comme ça ?
    Pourquoi poser une question sur une situation qui n'existe pas encore ?

    Développer sous Linux est mille² plus aisé que sous Windows, ne te tracasse pas pour ça.

  9. #9
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Ok merci à ous pour vos conseils. Pour l’instant je gère avec Notepad++ et la commande cmd qui je l’avoue est très pratique et simple pour débugger.le seul truc, c’es que je suis obligé de coder sur mon disque C car je ne parviens pas à aller sur mon disque D via la commande cd D:. Mais bon, c’est un détail
    Je n’ai pas encore ressenti le besoin d’acheter le livre. Mais est ce que le tuto sur développez.com contient la totalité du livre ?

  10. #10
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pour le déverminage de programmes, il ne faut pas oublier les analyseurs de code comme "pylint" (en console!). En effet, le déverminage basé sur l'exécution pas à pas, ajouté à la détection des erreurs de syntaxe ne suffisent pas: certaines erreurs ne seront pas détectées dans les parties du code qui ne seront pas souvent exécutées dans la logique du programme. De plus un programme comme "pylint" peut tester les écarts par rapport aux "règles de l'art Python" dans l'écriture des programmes (PEP 8). Pour ma part, j'utilise pylint systématiquement après le déverminage "normal", et il m'apprend souvent des trucs que je n'avais pas vus.

    En ce qui me concerne, j'ai accès pour mes développements en Python aux 3 OS (Windows, Linux et MacOS), mais je trouve le développement des programmes multiplateformes plus facile sous Windows. J'utilise Eclipse+Pydev depuis longtemps (qui fonctionne d'ailleurs sous les 3 OS), mais chacun peut avoir une autre préférence: voir l'info dans ce forum Python. Cependant , je privilégie les outils de développement qui fonctionnent sous les 3 OS.

  11. #11
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Salut, en parlant des règles de l'at Python, vu que je débute autant que je prenne des bonnes habitudes.
    En créant des fonction, je me demande si je doit les préfixer par fonc_example ... Les variables, faut-il Mettre une majuscule, et comment les différencier des variables locales dans leur nomination?

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par sam01 Voir le message
    Salut, en parlant des règles de l'at Python, vu que je débute autant que je prenne des bonnes habitudes.
    Avez vous lu le message de Tyrtamos?
    Il répond déjà à ces questions (au moins pour commencer).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Ha oui effectivement, je ne connaissais pas PEP8.
    Du coup, je suis tombé sur ce lien : http://sametmax.com/le-pep8-en-resume/ qui résume assez bien.

Discussions similaires

  1. [DbUtils] Comment débugger?
    Par manube dans le forum JDBC
    Réponses: 0
    Dernier message: 26/11/2007, 16h04
  2. Comment installer Python ?
    Par eyquem dans le forum Déploiement/Installation
    Réponses: 12
    Dernier message: 03/05/2007, 09h09
  3. Comment débugger un composant
    Par Gaadek dans le forum Delphi
    Réponses: 2
    Dernier message: 04/04/2007, 16h44
  4. Comment utiliser Python avec un RAD
    Par marjal dans le forum EDI/RAD
    Réponses: 3
    Dernier message: 10/03/2007, 19h07
  5. Comment utliser Python à patir du HTML ?
    Par Promeneur dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 23/12/2005, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo