esp-idf/tools/detect_python.fish
Frantisek Hrbata 6a7a7317f2 feat(tools): use ESP_PYTHON during install
Currently ESP_PYTHON is used in the install.sh script, but it's
overwritten in detect_python.sh. This allows to explicitly specify
python binary, which should be used to create venv.

$ ESP_PYTHON=/usr/bin/python3.7 ./install.{sh,fish}
$ ESP_PYTHON=/usr/bin/python3.7 ./export.{sh,fish}

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-07-19 10:10:56 +02:00

27 lines
1.0 KiB
Fish

# This file should be sourced, not executed!
#
# This is a port of detect_python.sh. More information are provided there.
set OLDEST_PYTHON_SUPPORTED_MAJOR 3
set OLDEST_PYTHON_SUPPORTED_MINOR 7
set -q ESP_PYTHON; or set PYLIST python3 python python3.7 python3.8 python3.9 python3.10 python3.11 python3.12
set -q ESP_PYTHON; or set -x ESP_PYTHON python
for p_cmd in $PYLIST;
$p_cmd --version >/dev/null 2>&1; or continue
echo "Checking \"$p_cmd\" ..."
$p_cmd -c "import sys; exit(1) if sys.version_info.major < int(\"$OLDEST_PYTHON_SUPPORTED_MAJOR\") else exit(0);"; or continue
$p_cmd -c "import sys; exit(1) if sys.version_info.minor < int(\"$OLDEST_PYTHON_SUPPORTED_MINOR\") else exit(0);"; or continue
set ESP_PYTHON $p_cmd
break
end
test -n "$ESP_PYTHON"; or echo "Python $OLDEST_PYTHON_SUPPORTED_MAJOR.$OLDEST_PYTHON_SUPPORTED_MINOR+ is not installed! Please see the documentation for how to install it."
test -n "$ESP_PYTHON"; or exit 1
$ESP_PYTHON --version
echo "$ESP_PYTHON has been detected"