2010-12-01 8 views
0

Hat jemand darüber gestolpert?Schwerwiegende Instabilität mit pygtk 2.22 und Python 2.6

Ich habe den GTK HelloWorld sample genommen. Es läuft gut. Wenn jedoch import win32ui, dann wird es nicht richtig heruntergefahren (wie in this question erklärt).

Es gibt andere Probleme. Während ich meine Anwendung eingrenzte, um zu sehen, was dazu führte, dass sie nicht herunterfiel, stieß ich auf einen Punkt, an dem ich eine Loggerklasse dekonstruierte, die ich geschrieben hatte und mit der ich keine Probleme hatte. Im Konstruktor hatte ich die Zeile:

self.logger = logger 

Ich hatte den Rest der Klasse kommentiert, so wurde self.logger nicht einmal verwendet. Wenn ich die Linie nach links, wie sie ist, würde ich diesen Fehler auf die „Hallo Welt“ klicken:

c:\python26\lib\site-packages\twisted\internet\gtk2reactor.py:350: GtkWarning: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed 
    gtk.main() 

Wenn ich die Linie zu ändern:

self.logger = 0 

dann wäre der Fehler nicht zeigen oben. Dies geschah mit verschiedenen anderen Codezeilen in der Logger-Klasse. Ich vermute, dass es auch mit anderen zufälligen Code-Stücken passieren würde. Aber in jedem Fall - Einstellung einer Variablen, die ist nicht einmal sollte nicht irgendeine Art von Problem verursachen. Beachten Sie, dass ich zu diesem Zeitpunkt noch mit pygtk verdreht verwendet wurde. Ich habe dies noch nicht mit nur GTK reproduziert.

Das lässt mich vermuten, dass pygtk wirklich instabil ist ... hat jemand schon mal darüber gestolpert? Kann ich irgendetwas tun? Der Grund, warum ich von gtk 2.12 aktualisiert habe, war, dass meine Anwendung zufällig abstürzen würde, aber das ist viel schlimmer.

UPDATE: Die Fehler passieren auf 64-Bit-Windows 7. Ich habe versucht sowohl mit 32-Bit-Python mit den oben aufgeführten Versionen, und 64-Bit-Python mit Pygtk-2.17.1, Pygobject-2.21.2, Pycairo-1.8.8 und Pywin32-214.

Bis jetzt der Fehler win32ui nicht mit der gleichen Installation auf einer virtuellen Windows XP VirtualBox passiert.

Antwort

0

Ich habe dies auf einer anderen Installation von Win7 64-Bit auf einem anderen Computer versucht, und es hat gut funktioniert. Es ist also eine seltsame Sache mit der Hardware/anderer Software auf einem bestimmten Computer. Wahrscheinlich nichts gtk oder win32 verwandt.