Ich versuche GTK3 und Python3 unter Windows zu meinem Projekt arbeiten zu lassen.Matplotlib und GTK3 auf Python3-Fenstern arbeiten
Ich habe ein Kontinuum Anakonda-Setup mit einem 32-Bit-Python 3.4 und Matplotib über Conda installieren Matplotlib.
Ich habe PyGobject (https://sourceforge.net/projects/pygobjectwin32/) installiert und GTK +/Glade über das Installationsprogramm installiert.
Der Grund exemple vom GTK3 Tutorial funktioniert gut (leerer Bildschirm)
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
ich jetzt matplotlib in gtk einbetten möge, ich das Beispiel von matplotlib bekam (http://matplotlib.org/examples/user_interfaces/embedding_in_gtk3.html)
Ich sah dann, dass Ich brauchte Cairocffi wegen einiger Unvereinbarkeiten. (PyCairo hat keine Unterstützung für eine matplotlib Funktion)
habe ich die Windows-Binaries für cffi von Gohlke
Und finnaly hat einen
pip install cairocffi
Und jetzt bekomme ich nur ein python.exe aufgehört zu arbeiten.
mit GTK3agg und GTK3Cairo Backends versucht, und ich habe das gleiche Ergebnis
umsah, fand ich, dass vielleicht die kairo Version für die Funktionen von matplotlib verwendet veraltet ist, aber ich weiß nicht, wie es weitergeht.
Cairocffi funktioniert, wenn ich versuche, etwas anderes zu laufen.
Weitere Informationen (aus dem Kommentar unten):
Ich habe immer noch eine nicht behandelte win32 Fehler. Ich schaffte es, den Fehler zu öffnen und es sagt:
Unhandled exception at 0x08CF6D58 (libcairo-2.dll) in python.exe:
0xC0000005: Access violation reading location 0x000000A8.
If there is a handler for this exception, the program may be safely continued.
Es ist einfach abstürzt ...
Hallo, ich habe diese Seite auch gefunden und es versucht. Ich habe immer noch einen unbehandelten Win32-Fehler. Ich habe es geschafft, den Fehler zu öffnen, und es heißt: Unbehandelte Ausnahme bei 0x08CF6D58 (libcairo-2.dll) in python.exe: 0xC0000005: Zugriffsverletzung beim Lesen von Speicherort 0x000000A8. Wenn für diese Ausnahme ein Handler vorhanden ist, kann das Programm sicher fortgesetzt werden. Es stürzt einfach ... – Luc
Kann Ihnen wirklich nicht helfen - Wie ich es verstehe, ist das Gtk3Agg-Backend im Moment nicht funktionstüchtig, also haben Sie keine andere Wahl als den Gtk3Cairo zu verwenden. Das Problem hinter all dem ist die Änderung von Introspection, um Python3 mit Gtk3 zu verbinden. Matplotlib verwendete ursprünglich keine Introspektion und wurde "nur" aktualisiert, um es zu benutzen. Aber das bedeutet, dass Ihr Problem an vielen verschiedenen Orten entsteht. Sie könnten in Erwägung ziehen, Ihr Programm in Python2 zu testen. Es gibt keinen großen Unterschied. – jcoppens