pygtk unter Windows wird nicht erkannt

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 18. März 2007, 22:21

Hallo DHK, willkommen im Forum,

DHK hat geschrieben:Also las ich mir diesen Thread hier durch, deinstallierte Version 2.10 und ersetzte sie mit 2.8; danach ging es immer noch nicht.
Was sind denn PyGObject und PyCairo und wo kriege ich die her? Was ist Glade?

Glade ist der GUI-Designer des GTK-Projektes. Damit kannst du dir GUIs zusammenklicken, die dann in sogenannten glade-Dateien (XML) gespeichert werden und die du dann in deinem Programm laden kannst. Musst du aber nicht, du kannst GUIs auch ebenso "von Hand" programmieren.

PyGObject ist der Python-Wrapper für GObject und PyCairo ist diesselbe für Cairo. Du kannst beide von Cedrics Seite herunterladen - inzwischen sind sie alle auf den GNOME-Servern verfügbar.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
DHK
User
Beiträge: 26
Registriert: Sonntag 18. März 2007, 14:55
Wohnort: Bayern

Beitragvon DHK » Montag 19. März 2007, 14:27

Hallo,
ich habe jetzt PyGObject und PyCairo installiert. Mein Skript sieht so aus:

Code: Alles auswählen

#!/usr/local/bin/python
# example base.py

import pygtk
import gtk

class Base:
   def __init__(self):
      self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
      self.window.show()

   def main(self):
      gtk.main()

print __name__
if __name__ == "__main__":
   base = Base()
   base.main()


Bei der Ausführung erhalte ich folgende Fehlermeldung:
Traceback (most recent call last):
File "E:\Eigene Dateien\Programme\test.py", line 5, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.


Die anderen Posts in diesem Thread konnten mir da auch nicht viel weiterhelfen. Wie gesagt, habe ich bereits ein Downgrade auf 2.8 gemacht.

Gruß

DHK
Opera ist noch immer der beste...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 19. März 2007, 21:16

Da stimmt wohl deine PyGTK-Version nicht mit der GTK+-Version überein. Scheint so, als wäre das ABI inkompatibel.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
DHK
User
Beiträge: 26
Registriert: Sonntag 18. März 2007, 14:55
Wohnort: Bayern

Beitragvon DHK » Dienstag 20. März 2007, 13:53

Und was könnte man dagegen tun? GTK+ ist doch diese etwa 5 MB große Datei. Und was ist dann PyGTK? Die Windows-Schnittstelle?

Gruß

DHK
Opera ist noch immer der beste...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 20. März 2007, 20:53

DHK hat geschrieben:Und was könnte man dagegen tun?

Die PyGTK und GTK+ Versionen müssen in den ersten zwei Zahlen übereinstimmten: also PyGTK 2.8.x mit GTK+ 2.8.x, PyGTK 2.10.x mit GTK+ 2.10.x.

DHK hat geschrieben:GTK+ ist doch diese etwa 5 MB große Datei.

Nein. Da du aber nicht genau sagst was das für eine Datei ist, wie sie heißt oder wo du sie her hast. Kann ich dir auch nicht sagen, was diese 5 MB große Datei ist. Kann ja alles mögliche sein, ich habe keine Kristallkugel.

DHK hat geschrieben:Und was ist dann PyGTK? Die Windows-Schnittstelle?

Die Python-Schnittstelle. Denn "normalerweise " programmiert man GTK-Programme in C, also braucht man einen Wrapper - PyGTK.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
DHK
User
Beiträge: 26
Registriert: Sonntag 18. März 2007, 14:55
Wohnort: Bayern

Beitragvon DHK » Mittwoch 21. März 2007, 13:59

Also diese 5 MB große Datei ist der erste Download auf dieser Website.
Dann habe ich noch PyCairo und PyGObject.
Außerdem habe ich noch das hier installiert. Also ist alles 2.8 bis auf das letzte. Muss ich dann also das letzte nochmal für 2.8 runterladen?

Gruß

DHK

edit: Habe jetzt das letztgenannte auf 2.8 downgegradet und jetzt geht's. Danke!
Opera ist noch immer der beste...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 21. März 2007, 20:02

Ja, wie du bereits gemerkt hast - die Versionen müssen übereinstimmen.

Frage: Geht GTK+ 2.10 immer noch nicht vernünftig mit PyGTK 2.10? Das fände ich inzwischen sehr erstaunlich.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
foxx
User
Beiträge: 18
Registriert: Montag 25. September 2006, 22:24
Kontaktdaten:

Beitragvon foxx » Samstag 7. April 2007, 01:05

Also ich hab unter Windows XP und Vista (Testsystem) schon oft diese Kombination verwendet - erfolgreich.
Ich nutze das pygtk (mit gobject & cairo) von pygtk.org und das GTK von gladewin32.sf.net.
Python einfach das Standard Installer Paket von python.org (2.5)

Hast du mal versucht alles zu deinstallieren und nach der Reihenfolge Python/GTK/PyGTK/gobject+cairo neu zu installieren?

Gruß,
foxx
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Beitragvon Ene Uran » Mittwoch 18. April 2007, 18:50

Pygtk auf einem Windows Computer zu installieren ist naher Wahnsinn. Hast du die endlose Wahl von Programmen und Versionen in der richtigen Reihenfolge installiert und registriert, dann kannst du ein Pygtk Programm schreiben. Nun kommen die Kopfschmerzen, das Programm soll ja auf anderen Computern auch funktionieren.

Ich schlage wxPython als GUI Tool vor, ein Programm und sehr einfach zu installieren! Hat alle Komponenten die du brauchst und mehr!
Atomkraftwerkaktienbesitzer
foxx
User
Beiträge: 18
Registriert: Montag 25. September 2006, 22:24
Kontaktdaten:

Beitragvon foxx » Mittwoch 18. April 2007, 19:00

Ich würd auch wxpython bevorzugen wegen der guten MAC-Kompatiblität und oft einfacheren Installation. Aber das wxGlade ist deutlich schlechter als das GTK Glade. Es gibt da kommerzielle Programme aber die würd ich mir nciht kaufen....
Weiß jemand ob es vielleicht auch mit GTK Gleichwertige Programme zur GUI Erstellung für wxpython gibt?
Es ist manchmal einfach praktisch nicht alles manuell schreiben zu müssen.

Gruß,
foxx
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 19. April 2007, 10:06

Ene Uran hat geschrieben:Pygtk auf einem Windows Computer zu installieren ist naher Wahnsinn. Hast du die endlose Wahl von Programmen und Versionen in der richtigen Reihenfolge installiert und registriert, dann kannst du ein Pygtk Programm schreiben.

Meine Güte, ich habs beim ersten Mal, ohne große Anleitung geschafft. Wer das nicht schafft, sollte sich ernsthaft überlegen, ob er Programmieren will.

foxx hat geschrieben:Weiß jemand ob es vielleicht auch mit GTK Gleichwertige Programme zur GUI Erstellung für wxpython gibt?

XRCed ist besser als wxGlade.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Donnerstag 19. April 2007, 11:24

Es geht weniger um die Programmierer als um die Benutzer des Programms. Wenn Du nicht nur Programme für Programmierer schreiben willst, ist das schon ein Punkt. Da sollten die Gtk-Leute IMHO mal einen besseren Installer bereitstellen.
Benutzeravatar
encbladexp
User
Beiträge: 61
Registriert: Freitag 7. März 2003, 19:28
Kontaktdaten:

Beitragvon encbladexp » Donnerstag 19. April 2007, 18:09

Tja, ich würde auch gerne meine PyGlade Anwendungen unter Windows nutzen, aber den Installationshorror möchte ich mir net geben... Für sowas habe ich echt keine Zeit!

Schön wäre so ne Art Python/PyGTK/PyGlade All-in-One Setup Datei... leider weis ich net wie man nen Installer unter Windows macht, und solange es mit aptitude oder synaptic oder apt-get so leicht geht, bringen mich keine 10 Pferde dazu es auch nur zu versuchen...

mfg Betz Stefan
foxx
User
Beiträge: 18
Registriert: Montag 25. September 2006, 22:24
Kontaktdaten:

Beitragvon foxx » Donnerstag 19. April 2007, 19:39

Vielleicht find ich mal die Zeit sowas zu machen. Mit Inno Setup oder NSIS geht das ziemlich einfach uns es gibt Module die das herunterladen und versteckte (silent) Installieren der benötigten Anwendungen erlauben. Sollte eigentlich nicht so schwer sein.

Dann könnte man wenigstens das automatische auswählen der zueinander passenden Komponenten realisieren...

Gruß,
foxx
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 19. April 2007, 19:48

BlackJack hat geschrieben:Es geht weniger um die Programmierer als um die Benutzer des Programms. Wenn Du nicht nur Programme für Programmierer schreiben willst, ist das schon ein Punkt.

Mag sein. ABer es ist durchaus möglich auch die GTK-DLLs dem Programm beizupacken und es mit py2exe laufen lassen. Ist dann aber etwas groß, das gebe ich zu. Aber es wächst dafür nicht so stark wie der Umfang von jeder neuen Windows-Version.

BlackJack hat geschrieben:Da sollten die Gtk-Leute IMHO mal einen besseren Installer bereitstellen.

Es gibt offizielle GTK-Win32-Binaries und es gibt einen inoffiziellen Installer, der ja tut (ich weiß nicht, ob der GTK in %PATH% einträgt, wenn nicht, dann ist das wohl das einzige was man ihm vorwerfen kann), es gibt ebenso sehr gut betreute Win32 Installer für PyGTK und Co. von Cedric Gustin.

Für einen Entwickler sollte das wirklich kein Problem sein, für einen End-User ließe sich sicher etwas brauchbares zusammenbasteln, wenn man will. Oder wo ist das Problem? Das PyGTK GTK+ nicht mitbringt? Bringt psycopg denn Postgres mit?

Das es aufwendiger ist als wxPython: OK, das stimmt. Aber hier wird von einer Art Quasi-Horrorszenario gesprochen, wo die Installation von PyGTK mehrere Stunden oder gar Tage in Anspruch nimmt. Das stimmt aber eben nicht.

Das Problem von GTK ist, dass es im Gegensatz zu wxWidgets nicht in eine DLL passt. So ist es nicht konzipiert und so ist es auch nicht gedacht. Aber DirectX oder .NET als Runtime zu installieren ist inzwischen auch unter Windows nichts sonderlich aufregendes mehr.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder