jueves, noviembre 18, 2010

Py2Exe, PyQt4... Y los iconos del resource?

Estuve usando el Py2Exe para distribuir una aplicación que debía correr sobre Windows. Con el único problema que me crucé fue al correr mi .exe ya que los iconos que supuestamente había incluido en mi archivo de recursos .qrc y posteriormente compilado con pyrcc4...no estaban.

Luego de descargar mi ira contra Qt Designer, el inocente de pyrcc4 y ni hablar de Py2Exe, encontré revolviendo en la web cual era el problema. Luego de correr la compilación con python setup.py py2exe hay que agregar las librerias (sí, las dlls) que leen los formatos de imágenes que usamos. Para PyQt4 (en Python 2.6) estas están en: C:\Python26\Lib\site-packages\PyQt4\plugins en el directorio que se llama "imageformats".

Lo que hay hacer es crear un directorio con el mismo nombre dentro de nuestro dist (creado por py2exe) y ahí agregar las librerías de los formatos que estamos usando.

Y listo!

2 comentarios:

patraña dijo...

Hola

me parece interesante lo que dices pero no entiendo muy bien, nosé si es que soy muy bruto o que, pero en elmomento que dices que hay que crear un directorio con el mismo nombre, aque te refieres?


gracias

pd: uso boa constructor pero debe de ser lo mismo a la hora de usar el py2exe ( que me pasa lo mismo que ati)

S.B. dijo...

Hola patraña,

me refiero a que el directorio imageformats tiene que existir en tu directorio dist. Con al menos las dlls con los codecs de las imágenes que usas (png, gif, jpeg...)

Esas librerias tienen que poder ser alcanzadas por tu .exe.

/dist
|-tu.exe
|-imageformats
|-png.dll

Espero que te sirva.

Saludos