On 21/03/2011 3:50 PM, Greg Ewing wrote:
Martin v. Löwis wrote:
Windows doesn't support exec.
Hmmm. In that case, if the launcher works by loading a pythonXY.dll,
I'd say that sys.executable should point to whatever version of
python.exe corresponds to that dll.
Generally, things should be made to look as much as possible as
if that python.exe had been executed in the first place.
Yeah, that would have to be the plan - if there are ways it *doesn't*
look like python.exe had been executed it is likely to cause problems.
Initially I thought we could just adjust sys.executable after it is set
to the "inappropriate" default value, but that would be tricky - this is
called by Python during Py_Main() - which also executes the specified
script. Thus, the launcher would either:
* Call Py_Initialize(), adjust sys.executable, then call Py_Main(). I'm
not sure what side-effects this would have though - Py_Main does a
number of things before calling Py_Initialize() and having it called
before those things are done might have other side-effects.
* Re-implement Py_Main and adjust sys.executable immediately after it is
set. This would be a huge burden given the size of that routine and the
number of different versions we want to support.
The first option is the only one I'd really consider reasonable and I'll
probably experiment with it once we have enough agreement that the C
implementation can proceed - but I'm not confident enough we can make it
work correctly to base the entire success or failure of the PEP on that
detail.
Any other ideas/thoughts about this?
Mark
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com