| #!/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 |