enero 10, 2014

Evitar el log file generado por py2exe



Para los que usamos py2exe para crear ejecutables en windows, nos habremos dado cuenta en algún momento, que si nuestro aplicativo cae en error, automaticamente se crea un archivo *.exe.log y se muestra en una ventana similar a esta:




Esto para el usuario final suele ser molestoso sobre todo cuando nuestro programa no presenta error alguno, sino "advertencias" que se pueden generar por distintas causas.

Una solución que encontré, fue la de agregar las siguientes lineas en el archivo principal, (que por lo general es el archivo "scripts" del cual creamos el ejecutable .exe, por ejemplo main.py)
import sys
sys.stderr = sys.stdout

Pero, qué es lo que hace estas líneas?

Bueno, en aplicaciones de interfaz gráfica, py2exe redirecciona sys.stderr a un log file, pero como aqui le pasamos sys.stdout lo que hará es ignorar todo lo escrito. Esto no quiere decir que desaparece los errores o advertencias del programa, solo los oculta del GUI. En el setup.py podemos crear un debug con la opción console, y asi siempre ver los errores en linea de comandos y evitarnos el fastidio de tal ventanita.


No hay comentarios:

Publicar un comentario