From 2083e4d35930ce1464c22ce1957853db68a7300b Mon Sep 17 00:00:00 2001 From: Roland Dobai Date: Tue, 18 Oct 2022 11:23:24 +0200 Subject: [PATCH] Tools: Detect if the project is configured for a different Python Closes https://github.com/espressif/esp-idf/issues/9993 --- tools/idf_py_actions/tools.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/idf_py_actions/tools.py b/tools/idf_py_actions/tools.py index 8d0cdc24899..098d9a78155 100644 --- a/tools/idf_py_actions/tools.py +++ b/tools/idf_py_actions/tools.py @@ -442,6 +442,7 @@ def ensure_build_directory(args: 'PropertyDict', prog_name: str, always_run_cmak '-G', args.generator, '-DPYTHON_DEPS_CHECKED=1', + '-DPYTHON={}'.format(sys.executable), '-DESP_PLATFORM=1', ] if args.cmake_warn_uninitialized: @@ -482,6 +483,15 @@ def ensure_build_directory(args: 'PropertyDict', prog_name: str, always_run_cmak except KeyError: pass # if cmake failed part way, CMAKE_HOME_DIRECTORY may not be set yet + try: + python = cache['PYTHON'] + if python != sys.executable: + raise FatalError( + "'{}' is currently active in the environment while the project was configured with '{}'. " + "Run '{} fullclean' to start again.".format(sys.executable, python, prog_name)) + except KeyError: + pass + def merge_action_lists(*action_lists: Dict) -> Dict: merged_actions: Dict = {