Spaces:
Running
Running
# Detect and use appropriate Python interpreter from virtual environments | |
if [ -n "$VIRTUAL_ENV" ]; then | |
PYTHON_EXEC=python | |
elif [ -n "$CONDA_DEFAULT_ENV" ]; then | |
PYTHON_EXEC=conda run -n "$CONDA_DEFAULT_ENV" python | |
elif [ -f "Pipfile" ]; then | |
PYTHON_EXEC=pipenv run python | |
elif [ -d ".pyenv" ]; then | |
PYTHON_EXEC=pyenv exec python | |
else | |
PYTHON_EXEC=python | |
fi | |
# Check if Python version is compatible | |
REQUIRED_VERSION=$1 | |
PYTHON_INSTALLED=$($PYTHON_EXEC -c "import sys; print(sys.version.split()[0])") | |
echo "Detected Python version: $PYTHON_INSTALLED" | |
$PYTHON_EXEC -c " | |
import sys | |
from distutils.version import LooseVersion | |
required_version = '$REQUIRED_VERSION' | |
python_installed = '$PYTHON_INSTALLED' | |
min_version, max_version = required_version.replace('>=', '').replace('<', '').split(',') | |
if not (LooseVersion(min_version) <= LooseVersion(python_installed) < LooseVersion(max_version)): | |
sys.exit(f'Error: Python version {python_installed} is not compatible with required version {required_version}.') | |
" || exit 1 | |