Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / incompatibilité windows vista et pythonw.exe

incompatibilité windows vista et pythonw.exe

Remonter à Forum général Python
  • incompatibilité windows vista et pythonw.exe

    Envoyé par visual-petanque le 5 Décembre 2009 à 15:09
    Mon application programmée avec la version 2.4 de python tourne à merveille sous windows XP
    Lorsqu' elle est installée sous windows vista ou 7 le logiciel plante aléatoirement. Peut-être au bout de 10 minutes ou alors au bout de 2 heures ... Message invoqué par le Windows " Pythonw.exe à cessé de fonctionner" avec vista "tcl84.dll" était mis en cause. Je ne sais pas à quoi ça sert ... Avec w7 , celui-ci me dit qu' il cherche la cause et ... j' attends toujours.
    Quelqu' un a t' il une idée. J' utilise les modules Tkinter, gadfly, os, threading, win32, math, random etc..
    Important il arrive (assez rarement) que ma feuille de IDLE plante alors que mon logiciel ne soit pas activé.
    Merci pour votre attention.
    • Re: incompatibilité windows vista et pythonw.exe

      Envoyé par jacko le 10 Décembre 2009 à 14:03
      Bonjour,

      tcl84.dll est (avec tk84.dll) la DLL Tcl/Tk utilisée par Tkinter, autrement dit l'interface graphique. Il est possible que cette version de Tcl (et non Python lui-même), un peu ancienne, soit incompatible avec Vista ou 7. D'ailleurs IDLE est aussi développé en Tkinter, et il est logique qu'il souffre du même problème.
      Pourquoi ne pas commencer par mettre à jour votre installation de Python ? Sans faire le saut vers la 3.0, je vous conseille de passer à la version 2.6 de Python, laquelle est livrée avec la version 8.5 de Tcl/Tk, plus moderne. Votre code Python 2.4 restera 100 % compatible avec Python 2.6.
    • Re: incompatibilité windows vista et pythonw.exe

      Envoyé par visual-petanque le 24 Décembre 2009 à 14:51
      Bonjour,
      Un grand merci pour vos explications qui sont très cohérentes. Cependant pour passer à la version 2.6 je suis confronté au problème que ce python là est incompatible avec la base de données que j' utilise (gadfly). En effet la version py 2.6 n' accepte pas les 'as'. En réalisant la modification aux fichiers sources de gadfy ça gaze. Je n' arrive cependant pas à passer le tout à la moulinette py2exe. Celui-ci détecte encore des 'as' dans un fichier .zip de gadfly.
      Je n' ai pas approfondi d' avantage mais j' aimerais savoir néanmoins s' il est possible de passer gadfly à la moulinette de py2exe et comment (bien entendu sous le controle de python2.6)
      La solution la plus rationnelle serait de remplacer par sqlite3 le fameux gadfly (d' ailleurs très satisfaisant pour mon application).Malheureusement l' organisation de mon programme ne me permet plus de revenir en arrière. Trop de boulot pour rattraper plusieurs années de travail.
      Si vous avez une idée pour résoudre mon problème ?

      Encore merci et JOYEUX NOEL
      visual petanque


    • Re: incompatibilité windows vista et pythonw.exe

      Envoyé par visual-petanque le 27 Décembre 2009 à 21:05
      Comme suite au message de jacko j'ai persisté dans ma démarche et finalement j' ai pu "compiler" gadfly avec mon projet élaboré avec python26 (en ayant soin de remplacer les .pyc correspondants).
      J'avais bien supprimé les as, dans des fichiers de gadfly mais j'avais tout simplement oublié de réinstaller gadfly modifié dans le python. !!!
      Mon problème de scrach n' est pas pour autant réglé et je m' aperçois effectivement que le Tkinter a changé car je suis obligé de reprendre une petite quantité de Frame car il semblerait que pour certains sticky('we') je sois amené à donner une dimension pour obtenir le résultat escompté. (en apparence ...)
      Comme j'ai galéré pour faire fonctionner gadfly avec IDLE sous Python26 je vais essayer de rassembler les renseignements que j' ai pu glaner sur le web et les exposer dans une rubrique appropriée.
      Si quelqu'un a une idée pour mes scratchs je suis preneur.
      cordialement
      visual petanque
    • Re: incompatibilité windows vista et pythonw.exe

      Envoyé par jacko le 29 Décembre 2009 à 14:16
      Désolé que le crash subsiste malgré toutes ces mises à jour. Pas d'idée.
      Concernant Tkinter, il y a effectivement qq différences minimes entre 8.4 et 8.5, mais qui tiennent toutes à des différences de valeurs par défauts : si une option est spécifiée, elle reste valide en 8.5 comme en 8.4 ; mais si elle n'est pas spécifiée (autrement dit on prend la valeur par défaut), il y a qq cas où la valeur par défaut choisie par le système sera différente (notamment pour les PanedWindows). L'une des différences les plus flagrantes est celle-ci : si un container (Frame par ex.) est plus grand que la grille qu'il contient (autrement dit celle-ci ne contient aucune option column/rowconfigure(n,weight=...)), alors la grille (et donc les widgets qu'elle contient) est centrée dans le container en 8.4, collée au NW en 8.5. Il me semble que le cas que vous citez relève de ce point. (si c'est le cas : Pas de solution simple, car la commande "grid anchor" de Tk, qui s'applique à ce problème, n'est pas implémentée en Tkinter. Une solution consiste à ajouter des lignes et colonnes vides tout autour de la grille, avec weight=1 pour absorber l'espace en trop).
      Bon courage.
    • Re: incompatibilité windows vista et pythonw.exe

      Envoyé par visual-petanque le 4 Janvier 2010 à 18:19
      Bonjour,
      Il semblerait que j'ai trouvé quelque chose. En effet, mon application utilisant un nombre relativement élevé de widgets Label auxquels j'associe les évènements Button-1, Enter, Leave, j'ai rajouté l'option '+' à la méthode bind de ces widgets. Il semblerait que les scratch disparaissent. Je n'ai pas bien assimilé le pourquoi...?
      Enfin si ça peut servir ...
      Cordialement et encore merci pour votre assistance.
      J'ai conservé le python24 car la distribution de mon application est assurée pour Windows XP Vista et 7
      Cordialement
Rendu par Ploneboard