mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 09:01:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
if [ -z ${PYTHON_VER+x} ]; then
 | 
						|
    # Use this version of the Python interpreter if it was not defined before.
 | 
						|
    # 3.4.8 is the default python3 interpreter in esp32-ci-env
 | 
						|
    # Jobs which doesn't support this version should define PYTHON_VER themselves
 | 
						|
    PYTHON_VER=3.4.8
 | 
						|
fi
 | 
						|
 | 
						|
if [ -f /opt/pyenv/activate ];
 | 
						|
then
 | 
						|
    source /opt/pyenv/activate
 | 
						|
    pyenv global $PYTHON_VER || {
 | 
						|
                                    echo 'Python' $PYTHON_VER 'is not installed.'
 | 
						|
                                    INSTALLED_PY_VERS=$(pyenv versions --bare)
 | 
						|
 | 
						|
                                    while [ ${#PYTHON_VER} -gt 0 ]
 | 
						|
                                    do
 | 
						|
                                        echo 'Tring to locate a match for' $PYTHON_VER
 | 
						|
 | 
						|
                                        for ver in ${INSTALLED_PY_VERS[@]}
 | 
						|
                                        do
 | 
						|
                                            if [[ $ver == $PYTHON_VER* ]];
 | 
						|
                                            then
 | 
						|
                                                pyenv global $ver
 | 
						|
                                                break 2
 | 
						|
                                            fi
 | 
						|
                                        done
 | 
						|
 | 
						|
                                        # Removing last character and trying to find some match.
 | 
						|
                                        # For example, if 3.4.8 was selected but isn't installed then it will try to
 | 
						|
                                        # find some other installed 3.4.X version, and then some 3.X.X version.
 | 
						|
                                        PYTHON_VER=${PYTHON_VER: : -1}
 | 
						|
                                    done
 | 
						|
                                }
 | 
						|
    python --version || {
 | 
						|
                            echo 'No matching Python interpreter is found!'
 | 
						|
                            exit 1
 | 
						|
                        }
 | 
						|
elif command -v python -V 1>/dev/null 2>&1;
 | 
						|
then
 | 
						|
    python --version
 | 
						|
    echo 'No /opt/pyenv/activate exists and Python from path is used.'
 | 
						|
else
 | 
						|
    echo 'No /opt/pyenv/activate exists and no Python interpreter is found!'
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# add esp-idf local package path to PYTHONPATH so it can be imported directly
 | 
						|
export PYTHONPATH="$IDF_PATH/tools:$IDF_PATH/tools/ci/python_packages:$PYTHONPATH"
 |