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

wxPython Discussion :

Pb avec Vista + Python 2.6 + wxPython


Sujet :

wxPython

  1. #1
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut Pb avec Vista + Python 2.6 + wxPython
    Bonjour,

    J'ai un problème avec Python 2.6 + wxPython installés sur un petit portable Sony Vaio équipé de Vista Premium:

    • un programme .py lancé avec un double-clic, fait apparaitre la fenêtre graphique de l'application. Mais dès que la souris passe sur cette fenêtre, un message Vista apparait pour dire que Python.exe doit s'arrêter... et le programme .py s'arrête.


    Curieusement, le même programme .py lancé avec idle fonctionne! Et les démos wxPython fonctionnent aussi.

    Pourtant, j'ai bien installé Python et wxPython sous session administrateur.

    J'ai vu sur le web que d'autres personnes avait rencontré le même problème, mais aucune solution n'est donnée, à part revenir à Python 2.5. Alors, je suis revenu à Python 2.5, et là, tout fonctionne parfaitement!

    Mais j'aurais bien aimé bénéficier des avancées de Python 2.6.

    => Quelqu'un aurait-il des infos pour faire fonctionner correctement Python 2.6 et wxPython sur Vista?

    Merci d'avance.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  2. #2
    Membre régulier
    Inscrit en
    septembre 2006
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : septembre 2006
    Messages : 84
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    Je possède Vista 64, je tourne sous Python 2.6 et je n'ai pas de gros problème. Généralement j'ai un plantage de ce genre quand j'ai démarré une fois une application planté et que je recommence sans enlever de processus et les fichiers compilés.
    Tu as essayé de passer tes fichiers python en wpython, en mettant une extension pyw?

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Merci de ta réponse!

    Le problème se déclenche dans 100% des cas, y compris la 1ère fois après un reboot. Et le même programme .py fonctionne parfaitement dans 100% des cas avec Python 2.5.

    Je n'ai pas essayé avec .pyw, mais je vais le faire. Si ça marchait, ce serait à la rigueur acceptable, puisqu'avec une fenêtre graphique, on a rarement besoin d'une console en plus.

    Une question que je me pose: comme l'arrêt du programme se déclenche lorsque la souris survole la fenêtre graphique, y a-t-il un paramètre de configuration dans Python 2.6 ou dans wxPython sur lequel je pourrais jouer?

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    mai 2002
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : mai 2002
    Messages : 308
    Points : 391
    Points
    391
    Par défaut
    C'est surement une histoire de bibliothèque de Python 2.6 ou une compatibilité de Vista, car si cela marche en 2.5.

    Je ne connais pas Vista, mais, n'y a t'il pas un paramètre dans Vista pour faire passer les programmes en version XP ? Dans ce cas ...... !

  5. #5
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Merci pour l'idée. Effectivement, il y a des options de compatibilité XP dans Vista. On peut lancer en plus "sous administrateur". J'ai déjà utilisé cela pour un accès à distance (nxclient sur Vista=> freenx sur linux).

    Je vais essayer, mais je n'y crois pas trop. Les quelques sites qui parlent de mon pb (ex: http://www.tejerodgers.com/snippets/...hes-python-26/), n'évoquent pas de solution aussi simple. Mais ça ne coûte pas cher d'essayer...

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'ai remis Python 2.6, et j'ai essayé plein de choses: ça ne marche pas.

    - essai avec .pyw au lieu de .py

    - essai de compatibilité XP sp2 pour python.exe et pythonw.exe

    - essai de lancer python.exe "sous administrateur"

    - essai de lancement à partir de la console cmd

    - etc...

    Manifestement, c'est un bug: http://trac.wxwidgets.org/ticket/10082

    Je reviens à la version 2.5, et j'attends que ça évolue.

    Question close pour l'instant.

    Merci pour les idées.

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  7. #7
    Membre habitué Avatar de Narann
    Inscrit en
    juin 2007
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : juin 2007
    Messages : 140
    Points : 198
    Points
    198
    Par défaut
    Je suis sous XP64 et j'ai le même problème que toi... Donc j'ai l'impression que c'est mort, dommage qu'il faille retourner sous 2.5...

    EDIT: Bon, voici un script qui ne plante pas (XP64):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import wx
     
    class ecuMainFrame(wx.Frame):
    	def __init__(self):
    		wx.Frame.__init__(self, None, 1, title="Ecureuil")
     
    		self.barre = wx.StatusBar(self, 1)
    		self.barre.SetFieldsCount(2)
    		self.barre.SetStatusWidths([1,1])
    		self.SetStatusBar(self.barre)
     
     
    class ecuGUI(wx.App):
    	def OnInit(self):
    		mainFrame = ecuMainFrame()
    		mainFrame.Show()
    		self.SetTopWindow(mainFrame)
    		return True
     
    app = ecuGUI()
    app.MainLoop()
    Je me demande si ce n'est pas une question de statut barre...
    En effet, dès qu'elle n'y est plus, ça plante!

    EDIT2: Je ne comprend plus rien, des fois ça marches et des fois pas... Il suffit que je fasse une modif, l'annule, resauve et ça ne marche plus...

  8. #8
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    En ce qui me concerne, voici un exemple de programme qui plante: un simple programme de type "bonjour monde!":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #! /usr/bin/pythonw
    # -*- coding: utf-8 -*-
    import wx
     
    class MainApp(wx.App):
        def OnInit(self):
            frame = MainWindow('Bonjour monde !')
            self.SetTopWindow(frame)
            return True
     
    class MainWindow(wx.Frame):
        def __init__(self, title):
            wx.Frame.__init__(self, None, wx.ID_ANY, title)
            self.Show(True)
     
    if __name__ == "__main__": 
        app = MainApp()
        app.MainLoop()
    Si ça ne marche pas sur un programme aussi simple, je ne vois pas comment je pourrais aller plus loin...

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Salut,

    j'ai eu ce problème avec python 2.6. (sous Vista)
    (J'ai été jusqu'à reinstaller windows avant de lire un peu la doc... )

    Ça se règle en lançant : "update_manifest.py"

    This script will rewrite the manifest resource in the python.exe and
    pythonw.exe files so it will include a dependency on the themed version
    of the common controls DLL. This will allow GUI applications launched
    from the stock python or pythonw to load and use the themed controls
    on XP and Vista. This is only needed wih Python 2.6+. Python 2.5 and
    prior did not have an embedded manifest so using the external manifest
    file was good enough.
    Ca va mettre à jour python.exe et pythonw.exe.

    Par contre l'astuce c'est de recopier d'abord "python.exe" et de lancer le script à partir de cet "exe", sinon python.exe est verrouillé et ne peut être mis à jour. J'suis clair là ?

  10. #10
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2007
    Messages
    4 106
    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 106
    Points : 8 501
    Points
    8 501
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    De retour de voyage, je me suis mis à essayer la dernière solution (merci kalagan_fly). Effectivement, cette solution est reconnue (une recherche sous google avec update_manifest.py donne plusieurs témoignages).

    J'ai donc installé le dernier Python 2.6.2 et le dernier wxPython.

    Et... pas de update_manifest.py...

    Après un moment d'inquiétude (mais où me suis-je planté?), j'essaie les exemples qui ne marchaient pas, et... ils marchent! Le passage de la souris au dessus de la fenêtre ne la plante plus.

    J'en déduis donc que les nouvelles versions ont résolu le problème.

    Et youpi, je vais pouvoir passer à Python 2.6!

    Merci encore!

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation de l'UAC avec Vista
    Par TiLapin dans le forum Delphi
    Réponses: 3
    Dernier message: 09/05/2007, 13h40
  2. comment créer un mail avec Zope / Python ?
    Par malmzi2007 dans le forum Zope
    Réponses: 3
    Dernier message: 12/07/2006, 19h19
  3. Moteur de recherche interne avec zope/python
    Par tunix dans le forum Zope
    Réponses: 3
    Dernier message: 01/05/2006, 15h45

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