tools: Prefer python3 during install and export

Install and export script should work on systems without "python"
executable.

Closes https://github.com/espressif/esp-idf/pull/6471

Closes https://github.com/espressif/esp-idf/issues/6532

Related to https://github.com/espressif/esp-idf/issues/6421 and
https://github.com/espressif/arduino-esp32/issues/4717
This commit is contained in:
Roland Dobai
2021-02-02 13:20:09 +01:00
parent e22de81955
commit 47f67f8b81
11 changed files with 90 additions and 100 deletions

24
tools/detect_python.sh Normal file
View File

@@ -0,0 +1,24 @@
# This file should be sourced, not executed!
#
# This is a helper script for detecting Python executables in the PATH. It is intended to be used for determining
# which Python should be used with idf_tools.py for installing tools and exporting environment variables.
#
# 1. The script will set variable ESP_PYTHON to "python" if it is of version 3.
# 2. Otherwise, "python3" will be exported if it exists.
# 3. The script will fall-back to "python" as the last resort and fail if it doesn't exist.
ESP_PYTHON=python
for p_cmd in python python3
do
echo "Checking \"$p_cmd\" ..."
if [ "$($p_cmd -c "import sys; print(sys.version_info.major)")" = 3 ]; then
ESP_PYTHON=$p_cmd
break
fi
done
$ESP_PYTHON --version || { echo "\"$ESP_PYTHON\" is not installed! Please see the documentation for how to install it."; exit 1; }
echo "\"$ESP_PYTHON\" has been detected"