diff options
author | Steve Dower <steve.dower@python.org> | 2019-06-29 21:28:59 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-29 21:28:59 (GMT) |
commit | 323e743d4879f1cd861d0b252775797fb7938755 (patch) | |
tree | cfaccee98a1695fabc022c04450b972e4f79071d /Include | |
parent | 0cba121029bae0a891b02c493cb77633620701be (diff) | |
download | cpython-323e743d4879f1cd861d0b252775797fb7938755.zip cpython-323e743d4879f1cd861d0b252775797fb7938755.tar.gz cpython-323e743d4879f1cd861d0b252775797fb7938755.tar.bz2 |
bpo-37369: Fix initialization of sys members when launched via an app container (GH-14467)
sys._base_executable is now always defined on all platforms, and can be overridden through configuration.
Also adds test.support.PythonSymlink to encapsulate platform-specific logic for symlinking sys.executable
Diffstat (limited to 'Include')
-rw-r--r-- | Include/cpython/initconfig.h | 9 | ||||
-rw-r--r-- | Include/internal/pycore_pathconfig.h | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/Include/cpython/initconfig.h b/Include/cpython/initconfig.h index 67f38e2..297fbf7 100644 --- a/Include/cpython/initconfig.h +++ b/Include/cpython/initconfig.h @@ -373,10 +373,11 @@ typedef struct { module_search_paths_set is equal to zero. */ - wchar_t *executable; /* sys.executable */ - wchar_t *prefix; /* sys.prefix */ - wchar_t *base_prefix; /* sys.base_prefix */ - wchar_t *exec_prefix; /* sys.exec_prefix */ + wchar_t *executable; /* sys.executable */ + wchar_t *base_executable; /* sys._base_executable */ + wchar_t *prefix; /* sys.prefix */ + wchar_t *base_prefix; /* sys.base_prefix */ + wchar_t *exec_prefix; /* sys.exec_prefix */ wchar_t *base_exec_prefix; /* sys.base_exec_prefix */ /* --- Parameter only used by Py_Main() ---------- */ diff --git a/Include/internal/pycore_pathconfig.h b/Include/internal/pycore_pathconfig.h index be12c6f..9e0ba0b 100644 --- a/Include/internal/pycore_pathconfig.h +++ b/Include/internal/pycore_pathconfig.h @@ -27,6 +27,8 @@ typedef struct _PyPathConfig { are ignored when their value are equal to -1 (unset). */ int isolated; int site_import; + /* Set when a venv is detected */ + wchar_t *base_executable; } _PyPathConfig; #define _PyPathConfig_INIT \ |