Précédent   Forum des professionnels en informatique > Autres langages > Python & Zope > GUI > wxPython
wxPython Forum d'entraide sur wxPython
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 27/02/2009, 13h34   #1
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2009, 13h50   #2
Membre du Club
 
Inscription : septembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 84
Points : 66
Points : 66
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?
Mugen RX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2009, 07h51   #3
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2009, 11h53   #4
Membre confirmé
 
Homme
Inscription : mai 2002
Messages : 280
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 280
Points : 298
Points : 298
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 ...... !
Gamal le Celte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2009, 07h45   #5
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2009, 16h24   #6
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2009, 13h35   #7
Membre du Club
 
Avatar de Narann
 
Inscription : juin 2007
Messages : 80
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 80
Points : 57
Points : 57
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 :
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...

Dernière modification par Narann ; 10/03/2009 à 14h59.
Narann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2009, 18h29   #8
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
Bonjour,

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

Code :
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2009, 11h17   #9
Invité de passage
 
Inscription : avril 2009
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 4
Points : 2
Points : 2
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"

Citation:
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à ?
kalagan_fly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2009, 11h57   #10
Membre Expert
 
Avatar de tyrtamos
 
Inscription : décembre 2007
Messages : 1 321
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 321
Points : 2 238
Points : 2 238
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
__________________
Tant que les ordinateurs ne trouvent pas eux-mêmes les prises de courant, nous avons des chances de maitriser la situation
Mes recettes python et linux: http://www.jpvweb.com
tyrtamos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 17h38.


 
 
 
 
Partenaires

Hébergement Web