- # Use `python -m pip` to ensure we are using the latest version of pip
- python -m pip install --user --quiet --upgrade pip
- python -m pip install --user --quiet --upgrade setuptools
- python -m pip install --user --quiet --upgrade -r "$requirements_file"
- rm -rf $requirements_file
+ #Python 3.5 in Ubuntu 16.04 workaround
+ if [[ -f /etc/lsb-release ]]; then
+ # shellcheck disable=SC1091
+ source /etc/lsb-release
+ if [[ $DISTRIB_RELEASE == "16.04" && $DISTRIB_ID == "Ubuntu" ]]; then
+ echo "WARNING: Python projects should move to Ubuntu 18.04 to continue receiving support"
+ echo "zipp==1.1.0" >> "$requirements_file"
+ fi
+ fi
+
+ python3 -m pip install --quiet --upgrade pip
+ # TODO: temporarily pinning setuptools to avoid plugin version format issues
+ # https://github.com/pypa/setuptools/issues/3772#issuecomment-1384342813
+ python3 -m pip install --quiet --no-warn-script-location --upgrade setuptools==65.7.0
+ python3 -m pip install --quiet --no-warn-script-location --upgrade lftools[openstack] urllib3~=1.26.15
+ python3 -m pip install --quiet --no-warn-script-location --upgrade \
+ --upgrade-strategy eager -r "$requirements_file"
+ # installs are silent, show version details in log
+ python3 --version
+ python3 -m pip --version
+ python3 -m pip freeze
+
+ rm -rf "$requirements_file"
+ touch /tmp/pre-build-complete