Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hiding console window of Python GUI app with py2exe

Tags:

I have a Python program uses Qt (PyQt4 in fact) and when I launch it from its main.py, I get a console window and the GUI window (on Windows, of course).

Then I compile my program with py2exe and main.exe is successfully created. However, if I run main.exe (this is what users of program will do) console window of Python still appears and all my debug text is stdout-ed to that window.

I want to hide cmd line window when my application is running and I want just my GUI to be visible to the user when executed from .exe file.

Is that possible?

like image 567
ahmet alp balkan Avatar asked Jul 18 '10 11:07

ahmet alp balkan


2 Answers

Yep, it is possible.

If I use

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

It creates a console app, however if I use

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

it does not show console on .exe file. But output is dumped on main.exe.log file in the .exe folder. Be careful.

like image 145
ahmet alp balkan Avatar answered Sep 22 '22 00:09

ahmet alp balkan


I doubt this has an effect on py2exe, but it's related to the question. To run a python GUI on windows without the terminal, use pythonw.exe instead of python.exe. This should happen automatically if you end the filename with ".pyw".

like image 35
robert Avatar answered Sep 19 '22 00:09

robert