Posiblemente 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:
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:
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:
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.
Pingback: Tivion 0.0.2: ahora con 48 canales más, más del doble! | Shakaran