From 46e9aef6c957bf69bc56c274224578e9ba7c3e6a Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 16 Apr 2020 11:52:19 +0200 Subject: [PATCH] tools/check_python_dependencies: print diagnostic info on failure Helps collect more data for cases such as: https://github.com/espressif/esp-idf/issues/5133 --- export.sh | 1 + tools/check_python_dependencies.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/export.sh b/export.sh index 9be1b0f5d5..1a543135c4 100644 --- a/export.sh +++ b/export.sh @@ -79,6 +79,7 @@ function idf_export_main() { idf_exports=$(${IDF_PATH}/tools/idf_tools.py export) || return 1 eval "${idf_exports}" + echo "Using Python interpreter in $(which python)" echo "Checking if Python packages are up to date..." python ${IDF_PATH}/tools/check_python_dependencies.py || return 1 diff --git a/tools/check_python_dependencies.py b/tools/check_python_dependencies.py index bb1d15765d..b402ee0d26 100755 --- a/tools/check_python_dependencies.py +++ b/tools/check_python_dependencies.py @@ -41,9 +41,9 @@ if __name__ == "__main__": default_requirements_path = os.path.join(idf_path, 'requirements.txt') - parser = argparse.ArgumentParser(description='ESP32 Python package dependency checker') + parser = argparse.ArgumentParser(description='ESP-IDF Python package dependency checker') parser.add_argument('--requirements', '-r', - help='Path to the requrements file', + help='Path to the requirements file', default=default_requirements_path) args = parser.parse_args() @@ -100,6 +100,14 @@ if __name__ == "__main__": else: print('Please follow the instructions found in the "Set up the tools" section of ' 'ESP-IDF Getting Started Guide') + + print('Diagnostic information:') + idf_python_env_path = os.environ.get('IDF_PYTHON_ENV_PATH') + print(' IDF_PYTHON_ENV_PATH: {}'.format(idf_python_env_path or '(not set)')) + print(' Python interpreter used: {}'.format(sys.executable)) + if idf_python_env_path not in sys.executable: + print(' Warning: python interpreter not running from IDF_PYTHON_ENV_PATH') + print(' PATH: {}'.format(os.getenv('PATH'))) sys.exit(1) print('Python requirements from {} are satisfied.'.format(args.requirements))