#!/bin/bash # Copyright 2022 The IREE Authors # # Licensed under the Apache License v2.0 with LLVM Exceptions. # See https://llvm.org/LICENSE.txt for license information. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception set -euo pipefail if ! [[ -f build_requirements.txt ]]; then echo "Couldn't find build_requirements.txt file in current directory" >&2 exit 1 fi PYTHON_VERSION="$1" apt-get update apt-get install -y \ "python${PYTHON_VERSION}" \ "python${PYTHON_VERSION}-dev" update-alternatives --install /usr/bin/python3 python3 "/usr/bin/python${PYTHON_VERSION}" 1 apt-get install -y \ python3-pip \ python3-setuptools \ python3-distutils \ python3-venv \ "python${PYTHON_VERSION}-venv" # Note that we use --ignore-installed when installing packages that may have # been auto-installed by the OS package manager (i.e. PyYAML is often an # implicit OS-level dep). This should not break so long as we do not # subsequently reinstall it on the OS side. Failing to do this will yield a # hard error with pip along the lines of: # Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we # cannot accurately determine which files belong to it which would lead to # only a partial uninstall. python3 -m pip install --ignore-installed --upgrade -r build_requirements.txt