Como mostrar la versión de GTK y PyGTK en Python
1 09 2009Posiblemente a la hora de escribir una aplicación hecha en python utilices las bibliotecas GTK y PyGTK para desarrollar una interfaz en tu aplicación.
Suele ser bastante común comprobar la versión que posee el usuario y mostrar un error si dicha versión es menor a la que necesita el programa para ejecutarse (independientemente de que tengas un paquete .deb y hayas especificado la versión de python-gtk en ella).
Para ello, podemos acudir al siguiente código que comprobara que el usuario tenga una versión GTK 2.16 o mayor:
1 2 3 4 5 6 7 8 9 10 11 | import sys try: import gtk gtk_v = gtk.gtk_version if gtk_v[0] < 2 or gtk_v[1] < 16: print 'Necesitas GTK 2.16 o superior para ejecutar el programa.' sys.exit(1) except: print 'Necesitas tener instalado GTK para ejecutar el programa.' sys.exit(1) print 'GTK: %s.%s.%s' %(gtk_v[0], gtk_v[1], gtk_v[2]) |
Del mismo modo si necesitas comprobar la versión de PyGTK 2.14 por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 | import sys try: import pygtk pygtk_v = gtk.pygtk_version if pygtk_v[0] < 2 or pygtk_v[1] < 14: print 'Necesitas PyGTK 2.14 o superior para ejecutar el programa.' sys.exit(1) except: print 'Necesitas tener instalado PyGTK para ejecutar el programa.' sys.exit(1) print 'PyGTK: %s.%s.%s' %(pygtk_v[0], pygtk_v[1], pygtk_v[2]) |
Y un ejemplo de ambas comprobaciones a la vez:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import sys try: import gtk gtk_v = gtk.gtk_version if gtk_v[0] < 2 or gtk_v[1] < 16: print 'Necesitas GTK 2.16 o superior para ejecutar el programa.' sys.exit(1) except: print 'Necesitas tener instalado GTK para ejecutar el programa.' sys.exit(1) try: import pygtk pygtk_v = gtk.pygtk_version if pygtk_v[0] < 2 or pygtk_v[1] < 14: print 'Necesitas PyGTK 2.14 o superior para ejecutar el programa.' sys.exit(1) except: print 'Necesitas tener instalado PyGTK para ejecutar el programa.' sys.exit(1) print 'GTK: %s.%s.%s' %(gtk_v[0], gtk_v[1], gtk_v[2]) print 'PyGTK: %s.%s.%s' %(pygtk_v[0], pygtk_v[1], pygtk_v[2]) |
Observa que en caso de no tener las bibliotecas instaladas, se lanzaría una excepción de ImportError, pero debido al try, except que se utiliza podemos mostrar un mensaje de error y salir de la aplicación.
Entradas relacionadas:






[...] sido corregido el bug LP#422875 en Launchpad (como algún usuario avezado comentó), por lo que es necesario para ejecutar el programa PyGTK 2.16. En Karmic viene ya esta versión, pero si deseas ejecutarlo en Jaunty o [...]