Start your programs using the ‘subprocess’ module. It has a couple of very easy to use convenience functions and should be easier to use than either os.popen or os.system.
(I recently was faced with a similar problem, but my need to stop using os.system was that the shell started by os.system cannot change to UNC network paths, and the software I need to run – from my py2exe-executable with wxPython GUI – is installed on a network volume)
[mailto:email@example.com] On Behalf Of Mike Lemmer
Sent: dinsdag 25 juli 2006 23:51
Subject: [Py2exe-users] Starting 3 Programs from One Shell
I've created a wxPython launcher GUI, converted with py2exe, that
starts 3 other programs. However, it also starts up three shell windows as
well. My boss wants me to reduce the number of shell windows to 0 or 1.
Currently, my program starts them using:
os.system("start \B [program name & arguments")
And I convert it to an exe using this setup.py script:
from distutils.core import setup
I've tried changing windows to console; that works (it only opens up one shell), but it also removes all graphics/text from the GUI. I'm thinking of trying:
1. Setting it to console, but importing certain wxPython libraries, or
2. Upgrading to subsystem commands and tacking on the CREATE_NO_WINDOW flag.
Option 2 looks like my best bet, but I'm unsure if the spawned programs will still run if the launcher's killed. (They need to.)
Any suggestions on how I can reduce the number of shells?
How low will we go? Check out Yahoo! Messenger’s low PC-to-Phone call rates.