python pyqt pyqt4 py2exe

Ocultar la ventana de la consola de la aplicación GUI de Python con py2exe



pyqt pyqt4 (3)

Dudo que esto tenga un efecto en py2exe, pero está relacionado con la pregunta. Para ejecutar una GUI de python en Windows sin el terminal, use pythonw.exe en lugar de python.exe. Esto debería suceder automáticamente si termina el nombre de archivo con ".pyw".

Tengo un programa Python que usa Qt (de hecho, PyQt4) y cuando lo ejecuto desde main.py, obtengo una ventana de consola y la ventana GUI (en Windows, por supuesto).

Luego compilo mi programa con py2exe y main.exe se crea correctamente. Sin embargo, si ejecuto main.exe (esto es lo que harán los usuarios del programa), la ventana de la consola de Python aún aparece y todo el texto de mi depuración está instalado en esa ventana.

Quiero ocultar la ventana de la línea cmd cuando mi aplicación se está ejecutando y quiero que solo la GUI esté visible para el usuario cuando se ejecute desde el archivo .exe.

¿Es eso posible?


Esto podría no estar directamente relacionado con su pregunta, pero creo que vale la pena intentarlo.

Puede hacerlo fácilmente usando PyInstaller usando el siguiente código.

pyinstaller -w myscript.py

¡Tan simple como eso y todo está resuelto!


Sí, es posible.

Si yo uso

setup(console=[''__main__.py''], options={"py2exe":{"includes":["sip"]}})

Crea una aplicación de consola, sin embargo si uso

setup(windows=[''__main__.py''], options={"py2exe":{"includes":["sip"]}})

no muestra la consola en el archivo .exe. Pero la salida se descarga en el archivo main.exe.log en la carpeta .exe. Ten cuidado.