Hi,
I'm facing similar kind of problems although a bit different.
In my case, the subprocess opens a new window on its own and the
pyinstaller -noconsole option does not seem to apply to that window.
In addition to the new window that I want, I get an additional empty
terminal window. The solution as suggested by Bryan does not work
since I actually want the window to stay open, but I don't want the
console.
Any ideas on how to handle that case so that the -noconsole also
applies to any windows opened by subprocesses?
Windows 7
Python 2.6.2
PyInstaller 2.1
Thankful for any help.
BR,
Tomas Melin
>Re: [PyInstaller] --noconsole on Windows and subprocess call
>
>Bryan A. Jones Fri, 24 Jan 2014 14:33:47 -0800
>
>All,
>
>Another programmer helped me find a nice approach that still uses the newer
>subprocess module. Is there a good place to post this on the Pyinstaller
>site? I hope that it can help others who stumble across the same problem.
>This works directly from Python, and from the pyinstaller binary, and from
>the pyinstaller binary when using --noconsole.
>
>
>import subprocess
>with open('out.txt', 'w') as f:
> try:
> si = subprocess.STARTUPINFO()
> si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
> h = subprocess.check_output(['python', '--help'],
> stdin=subprocess.PIPE,
> stderr=subprocess.PIPE,
> startupinfo=si)
> f.write(h)
> except OSError as e:
> f.write('Failed: ' + str(e))
>
>
>On Sat, Jan 11, 2014 at 1:47 PM, Michael Hipp <
hip...@gmail.com> wrote:
>
>> Have you tried calling it something like this:
>> Popen(cmd, creationflags=win32process.CREATE_NO_WINDOW)
>>
>>
>> On Fri, Jan 10, 2014 at 3:00 PM, Bryan A. Jones <
bjo...@ece.msstate.edu>wrote:
>>
>>> All,
>>>
>>> I'm stuck with a Pyinstaller problem (Windows 7, latest pyinstaller from
>>> git, Python 2.7). I'd like to create an application without a console
>>> window, so I pass --noconsole to pyinstaller. However, I also call some
>>> external programs from my application, which is causing problems:
>>>
>>> 1. If I use subprocess.call and friends, I get the exception OSError
>>> exception "[Error 6] the handle is invalid." This is because a noconsole
>>> app has no stdin/stdout/stderr; by default, subprocess tries to pass these
>>> on to the child process, which fails.
>>> 2. If I use subprocess.call with stdin=PIPE, stdout=PIPE, stderr=PIPE
>>> (which opens a pipe between the child process and my parent Python
>>> process), everything works, but I get a command window that appears
>>> briefly
>>> on the screen. Because I call this child process a lot, I see a lot of
>>> distracting consoles opening and closing.
>>> 3. Trying op.spawnl produces identical results to #2.
>>>
>>> All the code works fine when running without --noconsole or running
>>> directly from Python. Any ideas on how to run a child subprocess
>>> successfully, but without opening a console window?
>>>
>>> Thanks!
>>>
>>> Bryan
>>> --
>>> Bryan A. Jones, Ph.D.
>>> Associate Professor
>>> Department of Electrical and Computer Engineering
>>> 231 Simrall / PO Box 9571
>>> Mississippi State University
>>> Mississippi state, MS 39762
>>>
http://www.ece.msstate.edu/~bjones
>>> bjones AT ece DOT msstate DOT edu
>>> voice
662-325-3149
>>> fax
662-325-2298
>>>
>>> Our Master, Jesus Christ, is on his way. He'll show up right on
>>> time, his arrival guaranteed by the Blessed and Undisputed Ruler,
>>> High King, High God.
>>> - 1 Tim. 6:14b-15 (The Message)
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "PyInstaller" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to
pyinstaller+unsubscr...@googlegroups.com.
>>> To post to this group, send email to
pyins...@googlegroups.com.
>>> Visit this group at
http://groups.google.com/group/pyinstaller.
>>> For more options, visit
https://groups.google.com/groups/opt_out.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "PyInstaller" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to
pyinstaller+unsubscr...@googlegroups.com.
>> To post to this group, send email to
pyins...@googlegroups.com.
>> Visit this group at
http://groups.google.com/group/pyinstaller.
>> For more options, visit
https://groups.google.com/groups/opt_out.
>>
>
>
>
>--
>Bryan A. Jones, Ph.D.
>Associate Professor
>Department of Electrical and Computer Engineering
>231 Simrall / PO Box 9571
>Mississippi State University
>Mississippi state, MS 39762
>
http://www.ece.msstate.edu/~bjones
>bjones AT ece DOT msstate DOT edu
>voice
662-325-3149
>fax
662-325-2298
>
>Our Master, Jesus Christ, is on his way. He'll show up right on
>time, his arrival guaranteed by the Blessed and Undisputed Ruler,
>High King, High God.
>- 1 Tim. 6:14b-15 (The Message)
>
>--
>You received this message because you are subscribed to the Google Groups
>"PyInstaller" group.
>To unsubscribe from this group and stop receiving emails from it, send an email
>to
pyinstaller+unsubscr...@googlegroups.com.
>To post to this group, send email to
pyins...@googlegroups.com.
>Visit this group at
http://groups.google.com/group/pyinstaller.
>For more options, visit
https://groups.google.com/groups/opt_out.
>
> Previous message
> View by thread
> View by date
> Next message
>
> [PyInstaller] --noconsole on Windows and subprocess call Bryan A. Jones
> Re: [PyInstaller] --noconsole on Windows and subproce... Martin Zibricky
> Re: [PyInstaller] --noconsole on Windows and subp... Bryan A. Jones
> Re: [PyInstaller] --noconsole on Windows and subproce... Michael Hipp
> Re: [PyInstaller] --noconsole on Windows and subp...Bryan A. Jones
> Re: [PyInstaller] --noconsole on Windows and ... Michael Hipp
> Re: [PyInstaller] --noconsole on Windows ... Bryan A. Jones
> Re: [PyInstaller] --noconsole on Win... Steve Barnes
> Re: [PyInstaller] --noconsole on... Bryan A. Jones
> Re: [PyInstaller] --noconsol... Steve Barnes
> Re: [PyInstaller] --noconsol... Bryan A. Jones
> Re: [PyInstaller] --noconsol... Steve Barnes
>