From 5ce3ac59531828ff682646fbba59b2126b28a8aa Mon Sep 17 00:00:00 2001 From: Jaewon Lee Date: Thu, 25 Apr 2019 15:34:26 -0700 Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME There is one variable PYTHONHOME to determine where libraries are coming from for both python2 and python3. This becomes an issue if only one has libraries in the specified PYTHONHOME path, but they are using the same PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way to set a different path for python3 Signed-off-by: Jaewon Lee Upstream-Status: Inappropriate [OE specific configuration] --- Modules/main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Modules/main.c b/Modules/main.c index acc59c6..407085a 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -1834,10 +1834,19 @@ config_init_home(_PyCoreConfig *config) } return _Py_INIT_OK(); } - - int res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME"); - if (res < 0) { - return DECODE_LOCALE_ERR("PYTHONHOME", res); + int res; + const char *oepython3home = config_get_env_var("OEPYTHON3HOME"); + if (oepython3home) { + res = config_get_env_var_dup(&home, L"OEPYTHON3HOME", "OEPYTHON3HOME"); + if (res < 0) { + return DECODE_LOCALE_ERR("OEPYTHON3HOME", res); + } + } + else { + res = config_get_env_var_dup(&home, L"PYTHONHOME", "PYTHONHOME"); + if (res < 0) { + return DECODE_LOCALE_ERR("PYTHONHOME", res); + } } config->home = home; return _Py_INIT_OK();