On Tue, Jan 25, 2011 at 04:25, Geoff Bache <geoff.ba...@gmail.com> wrote:

> Hi all,
>
> I have a Python process on Windows and would like to start a Python
> subprocess using the same interpreter. I wonder how to go about this?
>
> First, I tried the obvious
>
> subprocess.Popen([ sys.executable, "subproc.py", ... ])
>
> but that fails, because my process has a "native launcher", (i.e. C:
> \path\mylauncher.exe, which is just a wrapper around the Python
> program) and hence sys.executable returns this path instead of the
> interpreter location. It isn't appropriate to use the launcher for the
> subprocess.
>
> I also tried using sys.exec_prefix but there didn't seem to be any
> standard location for the interpreter under this directory in any
> case.
>
> I feel certain there must be some way to do this as it seems a rather
> basic thing somehow, can anyone give me a hint?
>
> Regards,
> Geoff Bache


If sys.executable doesn't work due to this "native launcher", you
could try something
like this:

>>> import os
>>> import sys
>>> full_path = None
>>> for path in sys.path:
...     full = os.path.join(path, "python.exe")
...     if os.path.exists(full):
...             full_path = full
...
>>> full_path
'c:\\python31\\python.exe'
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to