pygtk und pynotify für Python 3 unter Linux

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
maxi_king_333
User
Beiträge: 110
Registriert: Freitag 25. Dezember 2009, 03:42

Hi,

der Titel sagt eigentlich schon alles.
Gibt es schon pygtk und pynotify für Python3 unter Linux?
Wenn ja wo?

Vielen Dank
Maxi
Zuletzt geändert von maxi_king_333 am Montag 4. Januar 2010, 09:25, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

maxi_king_333 hat geschrieben:Gibt es schon pygtk
Nein, noch nicht. :cry:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
maxi_king_333
User
Beiträge: 110
Registriert: Freitag 25. Dezember 2009, 03:42

Hi,

na dann kann ich mein neues Buch gleich wieder in den Schrank stellen und Python 2.6 weiter benutzen um dann sobald es das gibt wieder alles umzuschreiben. :( :( :( :(

Danke für die Info.

Viele Grüße
Maxi
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Vielleicht noch ein nützlicher Tipp:
Es gibt noch das Modul ``__future__``. Damit bekommst du unter anderem print als Funktion und Unicode als Standard für Strings auch bei Python 2.6
Damit ist ein Wechsel eventuell nicht mehr so umständlich (falls du das nicht schon kennst).
maxi_king_333
User
Beiträge: 110
Registriert: Freitag 25. Dezember 2009, 03:42

Hi,

Vielen Dank, kenne ich noch nicht - werde es gleich nachher testen.

Viele Grüße
Maxi
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Einfach mit 2.6 sauber programmieren, dann kann man es mit 2to3 automatisch übersetzen lassen.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Pa5tA
User
Beiträge: 21
Registriert: Sonntag 1. August 2010, 16:37

Weiss jemand, ob GTK3 Python 3 unterstuetzen wird?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Das geht mit PyGObject 2.26 bereits jetzt schon.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
D20six
User
Beiträge: 7
Registriert: Dienstag 16. November 2010, 15:20

Hallo zusammen,
ich muss nun auch mal stören. Ich habe bisher noch nicht in Python programmiert aber gestern den "Fehler" gemacht und mir "Thomas Theis - Einführung in Python 3" durchgelesen. (Und wenn schon mit einer neuen Sprache anfangen, dann doch gleich mit der aktuellsten Version.) Jedenfalls wollte ich heute erste Schnippsel programmieren und ein bisschen herum probieren, stelle aber doch fest das dass GTK noch nicht mit Python 3 kompatibel ist.

Nun zu meiner Frage, gibt es einen Workaround oder bereits eine Version des GTK die Python 3 unterstützt? Wenn ja wäre ich über einen Link dankbar, da ich bei Google noch nichts brauchbares gefunden habe.

Danke,
Daniel
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

D20six hat geschrieben:Ich habe bisher noch nicht in Python programmiert aber gestern den "Fehler" gemacht und mir "Thomas Theis - Einführung in Python 3" durchgelesen […]

Nun zu meiner Frage, gibt es einen Workaround oder bereits eine Version des GTK die Python 3 unterstützt?
Du hast noch nicht in Python programmiert und willst mit GUIs anfangen? Warte noch ein bisschen! Fang am besten mit Konsolen-Programmen an, dann lernst du erstmal Python, später dann PyGTK :D
D20six
User
Beiträge: 7
Registriert: Dienstag 16. November 2010, 15:20

nomnom hat geschrieben:Du hast noch nicht in Python programmiert und willst mit GUIs anfangen? Warte noch ein bisschen! Fang am besten mit Konsolen-Programmen an, dann lernst du erstmal Python, später dann PyGTK :D
Was nicht meine Frage beantwortet.

kleiner Nachtrag: Ich programmiere bereits seit über 10 Jahren in anderen Sprachen und wenn ich eine GUI in Python programmieren möchte, bzw. erst einmal damit herumspielen, nützen mir Konsolen-Tipps wenig.
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

D20six hat geschrieben:Nun zu meiner Frage, gibt es einen Workaround oder bereits eine Version des GTK die Python 3 unterstützt? Wenn ja wäre ich über einen Link dankbar, da ich bei Google noch nichts brauchbares gefunden habe.
Hier das Announce Mail von PyGObject inklusive download Link:
http://article.gmane.org/gmane.comp.gno ... thon/14841
Including the stable improvements in the base pygobject modules this is the first stable release to
include the Introspection modules. These new modules are considered beta quality and we don't guarantee
API compatibility with future versions yet.

Python 3 support, limited to the base and Introspection modules, also ships for the first time in this release.
keine Ahnung ob es etwas taugt und ob es Sinn macht damit Python zu lernen (vor allem wegen der Beta Qualität).
D20six
User
Beiträge: 7
Registriert: Dienstag 16. November 2010, 15:20

DaMutz hat geschrieben:keine Ahnung ob es etwas taugt und ob es Sinn macht damit Python zu lernen (vor allem wegen der Beta Qualität).
Okay, das ist natürlich ein gutes Argument.

Ich glaub ich werde wohl das Python 3-Buch noch einmal ein Jahr ins Regal zurückstellen müssen und mich noch einmal mit der älteren Version beschäftigen. Scheint ja momentan wirklich nichts brauchbares zu existieren.

Trotzdem vielen Dank für die Mühe,
Daniel
maxi_king_333
User
Beiträge: 110
Registriert: Freitag 25. Dezember 2009, 03:42

Hi,

wollte mich bezüglich GTK und Python3 nochmal melden.
Vielleicht interessiert es ja jemanden.
Es ist ja einiges an Zeit vergangen und ich muss sagen PyGObject in Verbindung mit GObject Introspection funktioniert schon ganz gut.
Durch GObject Introspection lassen sich auch eine Reihe andere Bibliotheken verwenden wie z.B. Wnck.
Hier mal eine Liste aller Bibliotheken, die ich im Moment in meinem System habe (/usr/lib/girepository-1.0/):

Code: Alles auswählen

-rw-r--r-- 1 root root  48452 27. Sep 10:03 Atk-1.0.typelib
-rw-r--r-- 1 root root   7660 19. Nov 01:55 Avahi-0.6.typelib
-rw-r--r-- 1 root root    772 19. Nov 01:55 AvahiCore-0.6.typelib
-rw-r--r-- 1 root root  33016 15. Nov 19:40 BraseroBurn-2.32.1.typelib
-rw-r--r-- 1 root root  11416 15. Nov 19:40 BraseroMedia-2.32.1.typelib
-rw-r--r-- 1 root root   1628  8. Mär 13:46 cairo-1.0.typelib
-rw-r--r-- 1 root root    712  8. Mär 13:46 DBus-1.0.typelib
-rw-r--r-- 1 root root    560  8. Mär 13:46 DBusGLib-1.0.typelib
-rw-r--r-- 1 root root    416 19. Sep 01:40 dconf-1.0.typelib
-rw-r--r-- 1 root root    280 30. Sep 15:06 Epiphany-2.29.typelib
-rw-r--r-- 1 root root  42144 10. Okt 12:46 EvinceDocument-2.32.typelib
-rw-r--r-- 1 root root  18904 10. Okt 12:46 EvinceView-2.32.typelib
-rw-r--r-- 1 root root    344  8. Mär 13:46 fontconfig-2.0.typelib
-rw-r--r-- 1 root root    416  8. Mär 13:46 freetype2-2.0.typelib
-rw-r--r-- 1 root root  13668 27. Sep 20:53 GConf-2.0.typelib
-rw-r--r-- 1 root root  93588 30. Sep 15:12 GData-0.0.typelib
-rw-r--r-- 1 root root 219320 15. Nov 20:28 Gdk-2.0.typelib
-rw-r--r-- 1 root root  16080  6. Nov 01:58 GdkPixbuf-2.0.typelib
-rw-r--r-- 1 root root   2956 15. Nov 20:28 GdkX11-2.0.typelib
-rw-r--r-- 1 root root  30560 28. Sep 19:45 Gee-1.0.typelib
-rw-r--r-- 1 root root 216044  8. Mär 13:46 Gio-2.0.typelib
-rw-r--r-- 1 root root  24872  8. Mär 13:46 GIRepository-2.0.typelib
-rw-r--r-- 1 root root    948  8. Mär 13:46 GL-1.0.typelib
-rw-r--r-- 1 root root 145824  8. Mär 13:46 GLib-2.0.typelib
-rw-r--r-- 1 root root   1152 17. Nov 12:54 GMenu-2.0.typelib
-rw-r--r-- 1 root root   1188  8. Mär 13:46 GModule-2.0.typelib
-rw-r--r-- 1 root root  48016  8. Mär 13:46 GObject-2.0.typelib
-rw-r--r-- 1 root root 131488  7. Dez 10:20 Gst-0.10.typelib
-rw-r--r-- 1 root root   5876  7. Dez 10:27 GstApp-0.10.typelib
-rw-r--r-- 1 root root  16652  7. Dez 10:27 GstAudio-0.10.typelib
-rw-r--r-- 1 root root  31316  7. Dez 10:20 GstBase-0.10.typelib
-rw-r--r-- 1 root root   2828  7. Dez 10:20 GstCheck-0.10.typelib
-rw-r--r-- 1 root root   7028  7. Dez 10:20 GstController-0.10.typelib
-rw-r--r-- 1 root root   2580  7. Dez 10:27 GstFft-0.10.typelib
-rw-r--r-- 1 root root  22700  7. Dez 10:27 GstInterfaces-0.10.typelib
-rw-r--r-- 1 root root   2312  7. Dez 10:20 GstNet-0.10.typelib
-rw-r--r-- 1 root root   2336  7. Dez 10:27 GstNetbuffer-0.10.typelib
-rw-r--r-- 1 root root  10344  7. Dez 10:27 GstPbutils-0.10.typelib
-rw-r--r-- 1 root root  12552  7. Dez 10:27 GstRiff-0.10.typelib
-rw-r--r-- 1 root root  23108  7. Dez 10:27 GstRtp-0.10.typelib
-rw-r--r-- 1 root root  19876  7. Dez 10:27 GstRtsp-0.10.typelib
-rw-r--r-- 1 root root   8572  7. Dez 10:27 GstSdp-0.10.typelib
-rw-r--r-- 1 root root   7820  7. Dez 10:27 GstTag-0.10.typelib
-rw-r--r-- 1 root root   9012  7. Dez 10:27 GstVideo-0.10.typelib
-rw-r--r-- 1 root root 521008 15. Nov 20:29 Gtk-2.0.typelib
-rw-r--r-- 1 root root   6808  3. Jan 23:14 GUdev-1.0.typelib
-rw-r--r-- 1 root root    212 30. Dez 23:16 JSCore-1.0.typelib
-rw-r--r-- 1 root root  17372 28. Sep 13:36 Json-1.0.typelib
-rw-r--r-- 1 root root    664  8. Mär 13:46 libxml2-2.0.typelib
-rw-r--r-- 1 root root   9168 28. Dez 20:25 Nautilus-2.0.typelib
-rw-r--r-- 1 root root   5512 17. Nov 13:38 PanelApplet-3.0.typelib
-rw-r--r-- 1 root root  40448 29. Sep 14:56 Pango-1.0.typelib
-rw-r--r-- 1 root root   4004 29. Sep 14:56 PangoCairo-1.0.typelib
-rw-r--r-- 1 root root   2628 29. Sep 14:56 PangoFT2-1.0.typelib
-rw-r--r-- 1 root root   3844 29. Sep 14:56 PangoXft-1.0.typelib
-rw-r--r-- 1 root root  13720  7. Dez 09:44 Polkit-1.0.typelib
-rw-r--r-- 1 root root  60360 30. Nov 00:32 Soup-2.4.typelib
-rw-r--r-- 1 root root   1436 30. Nov 00:32 SoupGNOME-2.4.typelib
-rw-r--r-- 1 root root   8184 31. Okt 22:40 TotemPlParser-1.0.typelib
-rw-r--r-- 1 root root   4476 15. Sep 15:47 Unique-1.0.typelib
-rw-r--r-- 1 root root  17684 14. Nov 17:28 Vte-0.0.typelib
-rw-r--r-- 1 root root  10160 30. Dez 23:16 WebKit-1.0.typelib
-rw-r--r-- 1 root root  24256 17. Nov 12:59 Wnck-1.0.typelib
-rw-r--r-- 1 root root    236  8. Mär 13:46 xfixes-4.0.typelib
-rw-r--r-- 1 root root    460  8. Mär 13:46 xft-2.0.typelib
-rw-r--r-- 1 root root   1532  8. Mär 13:46 xlib-2.0.typelib
-rw-r--r-- 1 root root    636  8. Mär 13:46 xrandr-1.3.typelib
Ich weiß nicht in wie weit die Bibliotheken vollständig sind, so fehlt z.B. beim GTK-Dialog die add_button-Methode.
Importieren kann man das ganze einfach so:

Code: Alles auswählen

from gi.repository import Gtk as gtk
Das ganze funktioniert eigentlich fast wie PyGTK mit dem kleinen Hacken, dass es, zumindest bei den von mir getesteten Methoden keine default-Werte gibt und manchmal beim erzeugen der Objekte die Argumente nicht zu PyGTK passen.

/* Edit:
Habe gerade festgestellt, dass libnotify in Version 0.7.1 ebenfalls die Daten für GObject Introspection mitbringt, also ist auch libnotify für Python3 einsatzbereit.

Code: Alles auswählen

from gi.repository import Notify as notify
notfiy.init('Name')
notification = notify.Notification()
notification.update('Test', 'Das ist ein Test', None)
notification.show()
Hier sieht man wieder, dass das erzeugen der Objecte nicht ganz so läuft wie gedacht.
Laut der Dokumentation sollte ich eigentlich direkt den Titel, den Text und das Icon übergeben können.
Geht aber nicht, ich muss erst noch update aufrufen.
*/

Viele Grüße
Maxi
D20six
User
Beiträge: 7
Registriert: Dienstag 16. November 2010, 15:20

Hallo,

danke für den Hinweis. Werde ich mir mal anschauen.

VG
Antworten