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
Den lördagen den 25:e januari 2014 kl. 00:32:47 UTC+2 skrev Bryan Jones:
>
> 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 <[email protected]<javascript:>
> > 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
>> <[email protected]<javascript:>
>> > 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 [email protected] <javascript:>.
>>> To post to this group, send email to [email protected]<javascript:>
>>> .
>>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/groups/opt_out.