This is an automated email from the ASF dual-hosted git repository. areusch pushed a commit to branch areusch/freeze-dependencies in repository https://gitbox.apache.org/repos/asf/tvm.git
commit 191868faa5f5eb1ef866bfa04bf0bb4eef2d7777 Author: Andrew Reusch <[email protected]> AuthorDate: Fri Jul 1 10:39:22 2022 -0700 unify python installation script --- docker/Dockerfile.ci_arm | 4 +-- docker/Dockerfile.ci_cpu | 4 +-- docker/Dockerfile.ci_gpu | 4 +-- docker/Dockerfile.ci_hexagon | 6 ++-- docker/Dockerfile.ci_i386 | 4 +-- docker/Dockerfile.ci_lint | 4 +-- docker/Dockerfile.ci_py_deps | 4 +-- docker/Dockerfile.ci_qemu | 4 +-- docker/install/ubuntu1804_install_python.sh | 47 ------------------------ docker/install/ubuntu2004_install_python.sh | 45 ----------------------- docker/install/ubuntu_install_python.sh | 55 ++++++++++++++++++----------- 11 files changed, 51 insertions(+), 130 deletions(-) diff --git a/docker/Dockerfile.ci_arm b/docker/Dockerfile.ci_arm index 16dc6995a4..9f7d2a1f46 100644 --- a/docker/Dockerfile.ci_arm +++ b/docker/Dockerfile.ci_arm @@ -49,8 +49,8 @@ RUN bash /install/ubuntu_install_llvm.sh ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH # COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh diff --git a/docker/Dockerfile.ci_cpu b/docker/Dockerfile.ci_cpu index 6aeb13ec9e..8c5e0b82e7 100644 --- a/docker/Dockerfile.ci_cpu +++ b/docker/Dockerfile.ci_cpu @@ -30,8 +30,8 @@ RUN bash /install/ubuntu_install_googletest.sh ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH COPY python/build/pyproject.toml /install/python/pyproject.toml diff --git a/docker/Dockerfile.ci_gpu b/docker/Dockerfile.ci_gpu index a29f097950..0c9d8ac108 100644 --- a/docker/Dockerfile.ci_gpu +++ b/docker/Dockerfile.ci_gpu @@ -37,8 +37,8 @@ RUN bash /install/ubuntu_install_googletest.sh ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH # COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh diff --git a/docker/Dockerfile.ci_hexagon b/docker/Dockerfile.ci_hexagon index 2a33fc119c..7f0355a20d 100644 --- a/docker/Dockerfile.ci_hexagon +++ b/docker/Dockerfile.ci_hexagon @@ -32,10 +32,10 @@ RUN bash /install/ubuntu_install_core.sh COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh RUN bash /install/ubuntu_install_googletest.sh -ENV TVM_VENV /venv/apache-tvm-py3.7 +ENV TVM_VENV /venv/apache-tvm-py3.8 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu2004_install_python.sh /install/ubuntu2004_install_python.sh -RUN bash /install/ubuntu2004_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu2004_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH # Rust env (build early; takes a while) diff --git a/docker/Dockerfile.ci_i386 b/docker/Dockerfile.ci_i386 index db6d3aac36..94040d7764 100644 --- a/docker/Dockerfile.ci_i386 +++ b/docker/Dockerfile.ci_i386 @@ -45,8 +45,8 @@ RUN bash /install/ubuntu_install_tensorflow_deps.sh ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH COPY install/ubuntu_install_llvm.sh /install/ubuntu_install_llvm.sh diff --git a/docker/Dockerfile.ci_lint b/docker/Dockerfile.ci_lint index 14f1cc932a..c5d32f48a1 100644 --- a/docker/Dockerfile.ci_lint +++ b/docker/Dockerfile.ci_lint @@ -26,8 +26,8 @@ RUN apt-get update --fix-missing && apt-install-and-clear -y wget git sudo make ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH COPY python/build/pyproject.toml /install/python/pyproject.toml diff --git a/docker/Dockerfile.ci_py_deps b/docker/Dockerfile.ci_py_deps index 649e9e5146..8551db8bfc 100644 --- a/docker/Dockerfile.ci_py_deps +++ b/docker/Dockerfile.ci_py_deps @@ -24,8 +24,8 @@ RUN apt update --fix-missing && apt install sudo COPY python/bootstrap-requirements.txt /install/python/bootstrap-requirements.txt COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh # Globally disable pip cache RUN pip config set global.no-cache-dir false diff --git a/docker/Dockerfile.ci_qemu b/docker/Dockerfile.ci_qemu index 78c17fa07f..27e1c43850 100644 --- a/docker/Dockerfile.ci_qemu +++ b/docker/Dockerfile.ci_qemu @@ -29,8 +29,8 @@ RUN bash /install/ubuntu_install_googletest.sh ENV TVM_VENV /venv/apache-tvm-py3.7 COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles -COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh -RUN bash /install/ubuntu1804_install_python.sh +COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh +RUN bash /install/ubuntu_install_python.sh ENV PATH ${TVM_VENV}/bin:$PATH COPY python/build/pyproject.toml /install/python/pyproject.toml diff --git a/docker/install/ubuntu1804_install_python.sh b/docker/install/ubuntu1804_install_python.sh deleted file mode 100755 index 0acdd89b77..0000000000 --- a/docker/install/ubuntu1804_install_python.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -e -set -u -set -o pipefail - - -cleanup() { - rm -rf base-requirements.txt -} - -trap cleanup 0 - - -# Install python and pip. Don't modify this to add Python package dependencies, -# instead modify install_python_package.sh -apt-get update -apt-install-and-clear -y software-properties-common -# NOTE: There is no python3.7-pip, but whatever installed is upgraded anyway in a few lines. -apt-install-and-clear -y python3.7 python3.7-dev python3-pip python3.7-venv -update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1 - -# Update pip to match version used to produce requirements-hashed.txt. This step -# is necessary so that pip's dependency solver is recent. -pip_spec=$(cat /install/python/bootstrap/lockfiles/constraints.txt | grep 'pip==') -pip3 install -U --require-hashes -r <(echo "${pip_spec}") \ - -c /install/python/bootstrap/lockfiles/constraints.txt -pip3 config set global.no-cache-dir false - -# Now install the remaining base packages. -pip3 install -r /install/python/bootstrap/lockfiles/constraints.txt diff --git a/docker/install/ubuntu2004_install_python.sh b/docker/install/ubuntu2004_install_python.sh deleted file mode 100755 index 4ab5e8d97d..0000000000 --- a/docker/install/ubuntu2004_install_python.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -set -e -set -u -set -o pipefail - - -cleanup() { - rm -rf base-requirements.txt -} - -trap cleanup 0 - -# Install python and pip. Don't modify this to add Python package dependencies, -# instead modify install_python_package.sh -apt-get update -apt-install-and-clear -y software-properties-common -apt-install-and-clear -y python3.8 python3.8-dev python3-pip python3.8-venv -update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 - -# Update pip to match version used to produce requirements-hashed.txt. This step -# is necessary so that pip's dependency solver is recent. -pip_spec=$(cat /install/python/bootstrap/lockfiles/constraints.txt | grep 'pip==') -pip3 install -U --require-hashes -r <(echo "${pip_spec}") \ - -c /install/python/bootstrap/lockfiles/constraints.txt -pip3 config set global.no-cache-dir false - -# Now install the remaining base packages. -pip3 install -r /install/python/bootstrap/lockfiles/constraints.txt diff --git a/docker/install/ubuntu_install_python.sh b/docker/install/ubuntu_install_python.sh index ec50682c14..f617e5872d 100755 --- a/docker/install/ubuntu_install_python.sh +++ b/docker/install/ubuntu_install_python.sh @@ -18,28 +18,41 @@ set -e set -u -# Used for debugging RVM build -set -x set -o pipefail -# install python and pip, don't modify this, modify install_python_package.sh -apt-get update -apt-install-and-clear -y python-dev - -# python 3.6 -apt-install-and-clear -y software-properties-common +set -x -add-apt-repository -y ppa:deadsnakes/ppa +release=$(lsb_release -sc) +if [ "${release}" == "bionic" ]; then + PYTHON_VERSION=3.7 +elif [ "${release}" == "focal" ]; then + PYTHON_VERSION=3.8 +else + echo "Don't know which version of python to install for lsb-release ${release}" + exit 2 +fi + +# Install python and pip. Don't modify this to add Python package dependencies, +# instead modify install_python_package.sh apt-get update -apt-install-and-clear -y python-pip python-dev python3.6 python3.6-dev - -rm -f /usr/bin/python3 && ln -s /usr/bin/python3.6 /usr/bin/python3 - -# python 3.7 -apt-install-and-clear -y python3.7 - -# Install pip -wget -q https://bootstrap.pypa.io/get-pip.py && python3.7 get-pip.py - -# Pin pip and setuptools versions -pip3 install pip==19.3.1 setuptools==58.4.0 +apt-install-and-clear -y software-properties-common +apt-install-and-clear -y \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ + python3-pip \ + python${PYTHON_VERSION}-venv + +update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 + +# Update pip to match version used to produce requirements-hashed.txt. This step +# is necessary so that pip's dependency solver is recent. +pip_spec=$(cat /install/python/bootstrap/lockfiles/constraints-${PYTHON_VERSION}.txt | grep 'pip==') +pip3 install -U --require-hashes -r <(echo "${pip_spec}") \ + -c /install/python/bootstrap/lockfiles/constraints-${PYTHON_VERSION}.txt +pip3 config set global.no-cache-dir false + +# Now install the remaining base packages. +pip3 install \ + --require-hashes \ + -r /install/python/bootstrap/lockfiles/requirements-${PYTHON_VERSION}.txt \ + -c /install/python/bootstrap/lockfiles/constraints-${PYTHON_VERSION}.txt
