From ffe7797637f08cd6ee4c82e2d67462c5e194d30a 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 --- Modules/main.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Modules/main.c b/Modules/main.c index a745381..b553e30 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -1855,10 +1855,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(); -- 2.7.4