summaryrefslogtreecommitdiffstats
path: root/Mac
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-03-22 18:56:26 (GMT)
committerGitHub <noreply@github.com>2020-03-22 18:56:26 (GMT)
commitc959fa9353b92ce95dd7fe3f25fe65bacbe22338 (patch)
treee19133af7da40d79fa702460ea23345e018acbf6 /Mac
parent687f5921a46cf95c2a648d8031f9e99cdcc3e6b7 (diff)
downloadcpython-c959fa9353b92ce95dd7fe3f25fe65bacbe22338.zip
cpython-c959fa9353b92ce95dd7fe3f25fe65bacbe22338.tar.gz
cpython-c959fa9353b92ce95dd7fe3f25fe65bacbe22338.tar.bz2
bpo-22490: Remove __PYVENV_LAUNCHER__ from environment during launch (GH-9516) (GH-19110)
* bpo-22490: Remove "__PYVENV_LAUNCHER__" from the shell environment on macOS This changeset removes the environment varialbe "__PYVENV_LAUNCHER__" during interpreter launch as it is only needed to communicate between the stub executable in framework installs and the actual interpreter. Leaving the environment variable present may lead to misbehaviour when launching other scripts. * Actually commit the changes for issue 22490... * Correct typo Co-Authored-By: Nicola Soranzo <nicola.soranzo@gmail.com> * Run make patchcheck Co-authored-by: Jason R. Coombs <jaraco@jaraco.com> Co-authored-by: Nicola Soranzo <nicola.soranzo@gmail.com> (cherry picked from commit 044cf94f610e831464a69a8e713dad89878824ce) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com> Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
Diffstat (limited to 'Mac')
-rw-r--r--Mac/Tools/pythonw.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Mac/Tools/pythonw.c b/Mac/Tools/pythonw.c
index 1d2db38..c8bd3ba 100644
--- a/Mac/Tools/pythonw.c
+++ b/Mac/Tools/pythonw.c
@@ -196,6 +196,15 @@ main(int argc, char **argv) {
}
}
+ /*
+ * The environment variable is used to pass the value of real_path
+ * to the actual python interpreter, and is read by code in
+ * Python/coreconfig.c.
+ *
+ * This way the real interpreter knows how the user invoked the
+ * interpreter and can behave as if this launcher is the real
+ * interpreter (looking for pyvenv configuration, ...)
+ */
setenv("__PYVENV_LAUNCHER__", real_path, 1);
}