From 912aaaa9cfc9449feabb4239276cfd5c09628638 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 2 Mar 2023 23:35:00 +0800 Subject: python: Unset Python environment variables This will prevent the user's environment variables from affecting host Python, removing the need to manually override these variables. It is also not necessary to set PYTHONPATH (when not working on target Python packages) because the given directories are already included in Python's search path by default. Signed-off-by: Jeffery To (cherry picked from commit 6ef46bb9194b5d3f5fc17471d8869bcae729d215) --- lang/python/python3-host.mk | 50 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) (limited to 'lang/python/python3-host.mk') diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index 9366b78d9..fa3d3ace3 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -12,6 +12,51 @@ python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST))) include $(python3_mk_path)python3-version.mk +# Unset environment variables + +# https://docs.python.org/3/using/cmdline.html#environment-variables +unexport \ + PYTHONHOME \ + PYTHONPATH \ + PYTHONSAFEPATH \ + PYTHONPLATLIBDIR \ + PYTHONSTARTUP \ + PYTHONOPTIMIZE \ + PYTHONBREAKPOINT \ + PYTHONDEBUG \ + PYTHONINSPECT \ + PYTHONUNBUFFERED \ + PYTHONVERBOSE \ + PYTHONCASEOK \ + PYTHONDONTWRITEBYTECODE \ + PYTHONPYCACHEPREFIX \ + PYTHONHASHSEED \ + PYTHONINTMAXSTRDIGITS \ + PYTHONIOENCODING \ + PYTHONNOUSERSITE \ + PYTHONUSERBASE \ + PYTHONEXECUTABLE \ + PYTHONWARNINGS \ + PYTHONFAULTHANDLER \ + PYTHONTRACEMALLOC \ + PYTHONPROFILEIMPORTTIME \ + PYTHONASYNCIODEBUG \ + PYTHONMALLOC \ + PYTHONMALLOCSTATS \ + PYTHONLEGACYWINDOWSFSENCODING \ + PYTHONLEGACYWINDOWSSTDIO \ + PYTHONCOERCECLOCALE \ + PYTHONDEVMODE \ + PYTHONUTF8 \ + PYTHONWARNDEFAULTENCODING \ + PYTHONNODEBUGRANGES + +# https://docs.python.org/3/using/cmdline.html#debug-mode-variables +unexport \ + PYTHONTHREADDEBUG \ + PYTHONDUMPREFS \ + PYTHONDUMPREFSFILE + HOST_PYTHON3_DIR:=$(STAGING_DIR_HOSTPKG) HOST_PYTHON3_INC_DIR:=$(HOST_PYTHON3_DIR)/include/python$(PYTHON3_VERSION) HOST_PYTHON3_LIB_DIR:=$(HOST_PYTHON3_DIR)/lib/python$(PYTHON3_VERSION) @@ -31,10 +76,7 @@ HOST_PYTHON3_VARS = \ LDSHARED="$(HOSTCC) -shared" \ CFLAGS="$(HOST_CFLAGS)" \ CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \ - LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" \ - PYTHONPATH="$(HOST_PYTHON3PATH)" \ - PYTHONDONTWRITEBYTECODE=0 \ - PYTHONOPTIMIZE="" + LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" # $(1) => directory of python script # $(2) => python script and its arguments -- cgit