This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kermode
Recipients kermode
Date 2008-07-24.20:58:53
SpamBayes Score 0.00018073247
Marked as misclassified No
Message-id <1216933135.87.0.837899480676.issue3440@psf.upfronthosting.co.za>
In-reply-to
Content
Python 2.6b2 (r26b2:65106, Jul 18 2008, 18:22:27) [MSC v.1500 32 bit
(Intel)] on win32

Windows XP Professional, SP 2

Library class subprocess.Popen


When subprocess.Popen is used to start the python interpreter as a
subprocess with a custom environment, env is set to a mapping, the
subprocess terminates with the following pop-up error dialog:

"The application failed to initialize properly (0xc0150004). Click on OK
to terminate the application."

The attached fail.py program reproduces the bug. It should print "ABCDE"
if successful. It does for Pythons 2.4 and 2.5.

The reason is that Python 2.6 on Windows requires the environment
variable SystemRoot, which it cannot find. This is demonstrated by
modifying fail.py to include SystemRoot in the environment. This works:

import sys
import os
import subprocess

command = ('''%s -c "import os; print os.environ['YAHOO']"''' %
           sys.executable)

env = {"YAHOO": "ABCDE", "SystemRoot": os.environ["SystemRoot"]}
subprocess.Popen(command, env=env).wait()
History
Date User Action Args
2008-07-24 20:58:56kermodesetspambayes_score: 0.000180732 -> 0.00018073247
recipients: + kermode
2008-07-24 20:58:55kermodesetspambayes_score: 0.000180732 -> 0.000180732
messageid: <1216933135.87.0.837899480676.issue3440@psf.upfronthosting.co.za>
2008-07-24 20:58:55kermodelinkissue3440 messages
2008-07-24 20:58:53kermodecreate