How can I hide the console window when freezing wxPython applications with cxFreeze? How can I hide the console window when freezing wxPython applications with cxFreeze? python python

How can I hide the console window when freezing wxPython applications with cxFreeze?


For Windows:

You have to use a line like this (use file folders and names as appropriate)

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

By adding the --base-name=Win32GUI option, the console window will not appear.


This worked to some extent but it has issues. My program runs in both a console mode and a GUI mode. When run from the console with a --console argument it runs in a console mode. When I followed the procedure below, this doesn't work anymore and my program is only a GUI app then.

The following source code comes from a sample file in the \Python\Lib\site-packages\cx_Freeze\samples\PyQt4\setup.py. Lesson of the day. Read the 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 applicationimport sysfrom cx_Freeze import setup, Executablebase = Noneif sys.platform == "win32":    base = "Win32GUI"setup(        name = "simple_PyQt4",        version = "0.1",        description = "Sample cx_Freeze PyQt4 script",        executables = [Executable("PyQt4app.py", base = base)])


If you're using Windows, you could rename your "main" script's extension (that launches the app) to .pyw