bpo-35811: Avoid propagating venv settings when launching via py.exe (GH-11677)
This commit is contained in:
parent
4e02f8f8b4
commit
adad9e6801
|
@ -0,0 +1 @@
|
||||||
|
Avoid propagating venv settings when launching via py.exe
|
|
@ -1707,6 +1707,17 @@ process(int argc, wchar_t ** argv)
|
||||||
command = skip_me(GetCommandLineW());
|
command = skip_me(GetCommandLineW());
|
||||||
debug(L"Called with command line: %ls\n", command);
|
debug(L"Called with command line: %ls\n", command);
|
||||||
|
|
||||||
|
#if !defined(VENV_REDIRECT)
|
||||||
|
/* bpo-35811: The __PYVENV_LAUNCHER__ variable is used to
|
||||||
|
* override sys.executable and locate the original prefix path.
|
||||||
|
* However, if it is silently inherited by a non-venv Python
|
||||||
|
* process, that process will believe it is running in the venv
|
||||||
|
* still. This is the only place where *we* can clear it (that is,
|
||||||
|
* when py.exe is being used to launch Python), so we do.
|
||||||
|
*/
|
||||||
|
SetEnvironmentVariableW(L"__PYVENV_LAUNCHER__", NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(SCRIPT_WRAPPER)
|
#if defined(SCRIPT_WRAPPER)
|
||||||
/* The launcher is being used in "script wrapper" mode.
|
/* The launcher is being used in "script wrapper" mode.
|
||||||
* There should therefore be a Python script named <exename>-script.py in
|
* There should therefore be a Python script named <exename>-script.py in
|
||||||
|
|
Loading…
Reference in New Issue