Author sbt
Recipients Grissiom.Gu, cvrebert, docs@python, loewis, sbt, terry.reedy
Date 2012-07-29.21:51:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1343598672.49.0.465838337108.issue15451@psf.upfronthosting.co.za>
In-reply-to
Content
> What I understand you two as saying is that there seems to be an 
> undocumented difference in execxxe between unix and windows which has been 
> carried over to subprocess.

No.  There is no difference between the platforms in the behaviour of os.execvpe().  os.execvpe() is simply implemented by trying execve() with a list of candidate executable paths until one of them works -- see _execvpe() in os.py.

Whether this difference from the behaviour of Posix's execvpe() was deliberate, I don't know.

The difference between the platforms in Python 2.x is caused by the fact that subprocess uses os.execvpe() on Unix and CreateProcess() on Windows.

In Python 3.x, os.execvpe() is no longer used on Unix, but the old behaviour has been deliberately maintained.  So the difference in behaviour is still present in Python 3.x.
History
Date User Action Args
2012-07-29 21:51:12sbtsetrecipients: + sbt, loewis, terry.reedy, cvrebert, docs@python, Grissiom.Gu
2012-07-29 21:51:12sbtsetmessageid: <1343598672.49.0.465838337108.issue15451@psf.upfronthosting.co.za>
2012-07-29 21:51:11sbtlinkissue15451 messages
2012-07-29 21:51:11sbtcreate