¿Cómo puedo ocultar la ventana de la consola al congelar aplicaciones wxPython con cxFreeze?

Estoy desarrollando una aplicación Python usando wxPython y congelandola usando cxFreeze. Todo parece ir bien aparte de este bit siguiente:

Cuando ejecuto el ejecutable creado por cxFreeze, aparece una ventana de consola en blanco. No quiero mostrarlo. ¿Hay alguna manera de que pueda ocultarlo?

Parece que no está documentado en el sitio de cxFreeze y Googling no apareció mucho aparte de algunos problemas similares con Py2Exe.

Gracias.

Esto funcionó en cierta medida pero tiene problemas. Mi progtwig se ejecuta tanto en modo consola como en modo GUI. Cuando se ejecuta desde la consola con un argumento --console se ejecuta en un modo de consola. Cuando seguí el siguiente procedimiento, esto ya no funciona y mi progtwig es solo una aplicación GUI.

El siguiente código fuente proviene de un archivo de muestra en \Python\Lib\site-packages\cx_Freeze\samples\PyQt4\setup.py . Lección del día. Lea el README.

 # A simple setup script to create an executable using PyQt4. This also # demonstrates the method for creating a Windows executable that does not have # an associated console. # # PyQt4app.py is a very simple type of PyQt4 application # # Run the build process by running the command 'python setup.py build' # # If everything works well you should find a subdirectory in the build # subdirectory that contains the files needed to run the application import sys from cx_Freeze import setup, Executable base = None if sys.platform == "win32": base = "Win32GUI" setup( name = "simple_PyQt4", version = "0.1", description = "Sample cx_Freeze PyQt4 script", executables = [Executable("PyQt4app.py", base = base)]) 

Para ventanas:

Debe usar una línea como esta (use carpetas de archivos y nombres, según corresponda)

 C:/Python/Scripts/cxfreeze C:/Python/Code/yourprogram.py --base-name=Win32GUI --target-dir C:/Python/Dist 

Al agregar la --base-name=Win32GUI , la ventana de la consola no aparecerá.

Si está utilizando Windows, puede cambiar el nombre de la extensión de su script “principal” (que inicia la aplicación) a .pyw

Opción 1) Utilice gui2exe para eliminar con varias opciones.

Opción 2) Modifique su setup.py con el parámetro ‘base’ como tal.

 GUI2Exe_Target_1 = Executable( # what to build script = "rf_spi.py", initScript = None, base = 'Win32GUI', # <-- add this targetDir = r"dist", targetName = "rf_spi.exe", compress = True, copyDependentFiles = False, appendScriptToExe = False, appendScriptToLibrary = False, icon = r"wireless.ico" )