I have a fairly simple GUI (wxPython) app and is working great. I'm using Windows 7.
When compiling it using pyinstaller
with -w
(or --noconsole
or --windowed
) and run it, I can see a console window for a millisecond and then it shutdown. The GUI app won't run.
Compiling without the -w will produce a working app with a console window.
What am I missing here?
Had the same problem. Used the following function instead of subprocess.Popen()
:
def popen(cmd):
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
process = subprocess.Popen(cmd, startupinfo=startupinfo, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
return process.stdout.read()
the return type is the same as you would get from Popen().communicate()[0]
:)
Works great with my GUI application. Windowed with pyinstaller --noconsole...
I would guess that you are somehow launching a subprocess that gets messed up when Python runs without a console window. I have had to solve three problems related to this:
multiprocessing
module needs to set an environment variable when it spawns worker processes.subprocess
module needs to explicitly handle stdin
, stdout
, and stderr
, because the standard file handles aren't set for subprocesses to inherit.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With