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 :

error line 1383, in __del__


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    652
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 652
    Par défaut error line 1383, in __del__
    Depuis quelques temps, à la fermeture de mon soft je récupère le message :

    Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exception ignored in: <function _DeleteDummyThreadOnDel.__del__ at 0x000001D8E9BEDE40>
    Traceback (most recent call last):
      File "C:\Users\Jean-Pierre Mignot\AppData\Local\Programs\Python\Python313\Lib\threading.py", line 1383, in __del__
    TypeError: 'NoneType' object does not support the context manager protocol

    Pourtant je quitte avec beaucoup de précautions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    app.root.protocol("WM_DELETE_WINDOW", on_window_close_via_X)
    on_window_close_via_X s'assure que tout est fermé, les processus clos et finalement appelle os.sys.exit()

    J'ai vu sur internet (https://github.com/python/cpython/issues/135522) que ceci n'était pas clair...

    Le programme s'arrête alors avec non pas le code 0 mais le code -1

    Le programme 'python.exe' s'est arrêté avec le code 4294967295 (0xffffffff)



    Quelqu'un aurait-il une idée comment au moins capter ce message et éviter de l'afficher à la fermeture car le soft fonctionne, tout y est réalisé, affiché, sauvé mais cela ne fait pas très clean d'avoir un tel message à la fermeture.


    Merci d'avance pour toutes suggestions!

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 521
    Par défaut
    Bonjour,

    WM_DELETE_WINDOW est définie par la Xlib, qui implémente l'API de « X-Window », qui est lui-même le serveur d'affichage utilisé par les serveurs Unix ou les machines sous Linux ou xBSD (jusqu'à X.org, en passe d'être remplacé par Wayland sous Linux). On ne recourt d'ailleurs à cette constante que lorsque l'on travaille soi-même directement avec la XLib. Aujourd'hui, on utilise généralement un framework plus large et plus portable, tel que Qt ou GTK, qui s'appuie dessus et effectue lui-même ces manipulations.

    Toi, tu sembles travailler sous MS Windows (à en voir le chemin d'accès de ton fichier), ce qui n'a rien à voir.

    « app.root » semble se référer à la fenêtre-racine de ton application (ce qui implique beaucoup d'initialisations préalables menées automatiquement), mais il faudrait que l'on voie ton code pour savoir avec quel framework tu travailles.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 867
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par j.p.mignot Voir le message
    Depuis quelques temps...
    Que s'est-il passé entre le temps où il n'y avait pas ce message et le temps où il est apparu ?

    Citation Envoyé par j.p.mignot Voir le message
    Quelqu'un aurait-il une idée comment au moins capter ce message et éviter de l'afficher à la fermeture
    Si c'est juste "au-moins" capter le message tu vas dans ton code et tu fais un try/except à l'endroit incriminé...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 624
    Par défaut
    Hello,

    Quelle est votre version exacte de python ?

    EDIT : J'ai écris trop vite, vous avez bien la version 3.13

    Si vous êtes en version 3.13, le bug n'est pas encore résolu, mieux vaut retourner en version 3.12 LTS

    Il faut surveiller les "Release Notes" des prochaines versions mineures de Python 3.13 pour confirmer l'inclusion du correctif GH-131537.

    https://github.com/python/cpython/ac...ns/16525405871
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. [Débutant] Fonction vartestn "error line 272"
    Par etu_staps dans le forum MATLAB
    Réponses: 0
    Dernier message: 15/06/2020, 23h26
  2. Réponses: 2
    Dernier message: 21/02/2019, 12h36
  3. ogreroot.cpp error line 639
    Par CloudyClad dans le forum Ogre
    Réponses: 4
    Dernier message: 16/08/2012, 17h06
  4. Réponses: 3
    Dernier message: 01/08/2012, 20h59
  5. [EasyPHP] Warning: Sablotron error on line 41: wrong expression syntax
    Par moonia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 27/03/2006, 15h00

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