Quoth MRAB <goo...@mrabarnett.plus.com>: > davidgo...@davidgould.com wrote: > > I'm attempting to run subprocess and passing in an environment > > variable. When I do this the child process fails with an error. When I > > don't pass an environement variable it runs fine. > > > > BTW Running this code under Windows XP with Python 2.6.1 > > > > Code A: > > > > p = subprocess.Popen( ['python', '-V'], env={ 'PYTHONPATH': 'C:/ > > Documents and Settings/David Gould/workspace/DgTools/Common/Trunk/ > > Source' } ) > > print p.communicate()[0] > > print p.returncode > > > > Output: > > > > None > > -1072365564 > > > > Code B: > > > > p = subprocess.Popen( ['python', '-V'] ) > > print p.communicate()[0] > > print p.returncode > > > > Output: > > > > Python 2.6.1 > > 0 > > > > Any idea why passing an environment variable causes it to fail? > > Thanks. > > > Are you sure it's not the path within the dict you're passing that's wrong?
Or there's something missing from the environment that python needs, causing a non-zero return code when it is missing. (That seems odd, though.) You ought to print communiicate()[1] to see if there is an accompanying error message that would shed light on the problem. --RDM -- http://mail.python.org/mailman/listinfo/python-list