Getting rid of console output when freezing Python programs using Pyinstaller
Just add the --noconsole
flag:
$ python pyinstaller.py --noconsole yourprogram.py
You might want to use --onefile
as well, which creates a single .exe
file instead of a folder.
This is one of the first things that comes up in a search for this info, so I'd like to add what I found for release 3.2 of pyinstaller. If you've already packaged your script by running
pyinstaller --onefile your_script.py
or similar, you can edit the your_script.spec file to rid yourself of the console.
exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='main', debug=False, strip=False, upx=True, console=True )
Simply change the console value to False. Then run:
pyinstaller your_script.spec
Additionally, if you make changes to your code, run the above command to have them reflected in the your_script.exe. I have found this useful for debugging various other issues.