Getting rid of console output when freezing Python programs using Pyinstaller
Pyinstaller -F --noconsole yourfilename.pyw
This will create a single .exe file
Pyinstaller --noconsole yourfilename.pyw
Using this you will get the .exe file along with all .dll and other necessary files in a folder.
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.
If you want to hide the console window, here is the documentation:
This is how you use the --noconsole
option
python pyinstaller.py --noconsole yourscript.py
If you need help using pyinstaller to get to the point where you need to use the --noconsole
option here is a simple tutorial for getting there.
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.