Seite 1 von 1
gtk+ unter windows funktioniert nicht : "g_assert_warni
Verfasst: Freitag 28. März 2008, 14:38
von CaveCanem
moin
hab ein paar progs mit python unter linux geschrieben, die sollen jetzt auch unter windows laufen. also hab ich mir folgende packete besorgt:
python-2.5.2.msi
pygtk-2.12.1-1.win32-py2.5.exe
pygobject-2.14.1-1.win32-py2.5.exe
pycairo-1.2.6-1.win32-py2.5.exe
gtk+-2.10.13-setup.exe
numpy-1.0.4.win32-py2.5.exe
scipy-0.6.0.win32-py2.5.exe
matplotlib-0.91.2.win32-py2.5.exe
funktioniert scho mal, aber das wars au scho.
das nächse test skript:
Code: Alles auswählen
import gtk
window = gtk.Window()
window.set_title("PyGTK Test Window")
window.show_all()
gtk.main()
funktioniert schon nicht mehr.
als erstes beschwerte sich win das die libglib-2.0-0.dll fehlen würde, also hab ich sie runtergeladen (version 2.4.2.0), danach folgten 2 weitere fehlende dll´s.
Nun scheinen alle vorhanden zu sein, aber es kommt folgende meldung aus der ich nicht schlau werde:
Code: Alles auswählen
Der Prozedureinstiegspunk "g_assert_warning" wurde in der DLL "libglib-2.0-0.dll" nicht gefunden.
... was heißt das jetzt?
laut google hatten schon einige das problem bei Gimp, Es hatte sich aber irgendwie immer mysteriös quasi von selbst gelöst.
ahja das os is win2000 (ging ni anders...), später soll es aber auch auf zBsp XP und irgendwann sicher auch Vista Rechnern funktionieren *freude*
danke, grüße
Verfasst: Freitag 28. März 2008, 16:34
von mkesper
Vielleicht benötigt das System erst einen Neustart?
Verfasst: Freitag 28. März 2008, 18:30
von audax
Falsche Version der DLL. Das GTK+ installierne hat also nicht geklappt.
Verfasst: Freitag 28. März 2008, 19:42
von CaveCanem
neugestartet hab ich...
hm dann is wohl die gtk+ setup ni ganz in ordnung, weil habs mehrmals versucht und zwischendurch deinstalliert.
naja hab heut abend das windows nochmal neu aufgespielt (is nurn testrechner) und am montag versuch noch mal mein glück, werd wohl auch mal ein anderes gtk probieren.
danke erstmal
2nd try
Verfasst: Montag 31. März 2008, 13:44
von CaveCanem
so heut also mein zweiter (erfolgloser) versuch.
ich hab mal protokolliert was ich so gemacht hab und was dabie rausgekommen ist.
Code: Alles auswählen
Install: Python 2.5.2
GTK+ Development Environment 2.10.11
Run: GTK Demo -> works
Restart
Try: import gtk -> Error: no module named gtk
import pygtk -> Error: no module named pygtk
Install: pygtk 2.12.1
pycairo 1.2.6
pygobject 2.14.1
Try: import pygtk -> works
import gtk -> Error: no module named gtk
Install: GTK+ Runtime Environment 2.10.13
Restart
Try: import gtk -> DLL load failed (Abb.1)
Abb.1:
Code: Alles auswählen
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 38, in <module>
import gobject as _gobject
File "C:\Python25\lib\site-packages\gtk-2.0\gobject\__init__.py", line 30, in <module>
from gobject.constants import *
File "C:\Python25\lib\site-packages\gtk-2.0\gobject\constants.py", line 22, in <module>
from _gobject import type_from_name
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
bin also nicht viel weiter als am freitag.
Was ich nun rausgefunden habe ist das die fehlenden dll´s in der glade setup bzw in der gtk+ development environment (da ist ja glade integriert) drin sind.
ich habe auch schon verschiedene verionen von gtk probiert so zbsp:
GTK2-Runtime-2.12.9
gtk+-2.10.13
bevor ich eine neue GTK Runtime installiert habe hab ich sicherheitshalber alles was mit gtk und python zu tun hat entfernt und neu installiert.
mir fällt langsam nichts mehr ein..
bin für jeden tipp dankbar
grüße
Verfasst: Montag 31. März 2008, 17:26
von Leonidas
Also was du sicherlich nicht machen solltest ist GTK 2.10 mit PyGTK 2.12 ansprechen, das funktioniert nicht. Die Minor-Versionsnummern müssen entweder gleich oder die von PyGTK größer sein.
Du kannst aber auch einfach versuchen, die
offiziellen Win32-Builds zu verwenden.
Verfasst: Dienstag 1. April 2008, 09:33
von CaveCanem
achso danke das mit den versionen wusste ich nicht. also funktioniert pygtk2.12.1 mit gtk2.12.9 aber nicht mit zbsp gtk2.10.13...
jop auf der seite war ich au schon, aber hab nicht so richtig rausbekommen wohin ich das zip entpacken muss, bzw wie ich es in python implementiert bekomm. aber die installer für gtk2.12.9 müssten ja die gleichen dateien in ihrem packet drin haben, oder?
mal ne verständnissfrage. wenn ich python 2.5 installiere und danach das gtk runtime environment 2.12.9, pygtk2.12.1/pycairo1.2.6/pygobject2.14.1, dann neu starte, müsste
im IDLE doch eigentlich funktionieren, oder?
funktioniert
Verfasst: Dienstag 1. April 2008, 09:48
von audax
Sollte. Aber IDLE ist einfach blöd. Such dir ne andere IDE
(Ich liebäugel mometan gerade mit OpenKomodo)
Verfasst: Dienstag 1. April 2008, 11:38
von CaveCanem
so konnte das problem etwas eingrenzen.
hab jetzt xp auf der kiste drauf.
python/gtk runtime/pygtk/pycairo/pygobject installiert, siehe da ich kann gtk importieren.
Da ich aber meine GUI in Glade erstellt habe brauch ich ja auch noch den win32 glade port, also das aktuelle glade installiert, und da ist der fehler wieder, kommt die gleiche 'dll load failes' fehlermeldung die ich weiter oben schon mal angegeben hab.
muss ich bei glade noch irgendwas zusätzlich installieren?
achso: komodo werd ich dann mal testen, aber glaub ni das es an IDLE liegt, und außer zum testen werd ich das eh nicht benutzen da die progs weiterhin unter linux entstehen werden. (da ging des alles irgendwie einfacher...)
Verfasst: Dienstag 1. April 2008, 12:15
von CaveCanem
es funktioniert.
hab den "Gtk+, Glade, GtkGlExt all in one Windows installer" gefunden, mit dem funktionieren die imports von gtk pygtk und gtk.glade
ich glaub meine glade version war zu alt (1.1.2)
ich hoff mal das meine programme jetzt endlich laufen.
vielen dank für eure hilfe
Verfasst: Dienstag 1. April 2008, 14:27
von Leonidas
CaveCanem hat geschrieben:jop auf der seite war ich au schon, aber hab nicht so richtig rausbekommen wohin ich das zip entpacken muss, bzw wie ich es in python implementiert bekomm. aber die installer für gtk2.12.9 müssten ja die gleichen dateien in ihrem packet drin haben, oder?
Die DLLs müssen da hin wo sie im %PATH% gefunden werden. Wie du den %PATH% anpasst, steht in deinem Windows-Manual. Für Python-Implementieren musst du nichts, das Python-Binding wurde ja schon von den PyGTK-Entwicklern implementiert. Und nein, in den Installern müssen nicht die gleichen Binaries drin stecken. Die können von verschiedenen Compilern, Compilerversionen oder mit verschiedenen Optimierungen kompiliert worden sein, daher können die Binaries die da rauskommen, ganz verschieden sein.