mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-15 20:50:42 +00:00
### Description <!-- Describe your changes. --> ### Motivation and Context <!-- - Why is this change required? What problem does it solve? - If it fixes an open issue, please link to the issue here. -->
120 lines
3.4 KiB
Bash
Executable file
120 lines
3.4 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
while getopts p:d: parameter_Option
|
|
do case "${parameter_Option}"
|
|
in
|
|
p) PYTHON_VER=${OPTARG};;
|
|
d) DEVICE_TYPE=${OPTARG};;
|
|
*) echo "Usage: $0 -p PYTHON_VER -d DEVICE_TYPE";;
|
|
esac
|
|
done
|
|
|
|
PYTHON_VER=${PYTHON_VER:=3.8}
|
|
# Some Edge devices only have limited disk space, use this option to exclude some package
|
|
DEVICE_TYPE=${DEVICE_TYPE:=Normal}
|
|
|
|
# shellcheck disable=SC2034
|
|
DEBIAN_FRONTEND=noninteractive
|
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
|
|
|
apt-get update && apt-get install -y software-properties-common lsb-release
|
|
|
|
OS_VERSION=$(lsb_release -r -s)
|
|
|
|
PACKAGE_LIST=(
|
|
"apt-transport-https"
|
|
"apt-utils"
|
|
"aria2"
|
|
"autoconf"
|
|
"automake"
|
|
"autotools-dev"
|
|
"build-essential"
|
|
"bzip2"
|
|
"ca-certificates"
|
|
"curl"
|
|
"gfortran"
|
|
"git"
|
|
"graphviz"
|
|
"language-pack-en"
|
|
"libcurl4"
|
|
"libcurl4-openssl-dev"
|
|
"libexpat1-dev"
|
|
"libkrb5-3"
|
|
"liblttng-ust-dev"
|
|
"libpng-dev"
|
|
"libssl-dev"
|
|
"libtinfo-dev"
|
|
"libtinfo5"
|
|
"libtool"
|
|
"libunwind8"
|
|
"openjdk-17-jdk"
|
|
"openssh-server"
|
|
"pkg-config"
|
|
"python3-dev"
|
|
"python3-distutils"
|
|
"python3-numpy"
|
|
"python3-pip"
|
|
"python3-pytest"
|
|
"python3-setuptools"
|
|
"python3-wheel"
|
|
"rsync"
|
|
"sudo"
|
|
"unzip"
|
|
"wget"
|
|
"zip"
|
|
"zlib1g"
|
|
"zlib1g-dev"
|
|
)
|
|
if [ "$DEVICE_TYPE" = "Normal" ]; then
|
|
PACKAGE_LIST+=("libedit-dev" "libxml2-dev" "python3-packaging")
|
|
fi
|
|
|
|
PACKAGE_LIST+=("libicu-dev")
|
|
|
|
apt-get install -y --no-install-recommends "${PACKAGE_LIST[@]}"
|
|
|
|
locale-gen en_US.UTF-8
|
|
update-locale LANG=en_US.UTF-8
|
|
|
|
if [ "$OS_VERSION" = "20.04" ]; then
|
|
# The defaul version of python is 3.8
|
|
major=$(echo "$PYTHON_VER" | cut -d. -f1)
|
|
minor=$(echo "$PYTHON_VER" | cut -d. -f2)
|
|
if [ "$major" -lt 3 ] || [ "$major" -eq 3 ] && [ "$minor" -lt 8 ]; then
|
|
PYTHON_VER="3.8"
|
|
fi
|
|
if [ "$PYTHON_VER" != "3.8" ]; then
|
|
add-apt-repository -y ppa:deadsnakes/ppa
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends \
|
|
python"${PYTHON_VER}" \
|
|
python"${PYTHON_VER}-"dev
|
|
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python"${PYTHON_VER}" 1
|
|
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
|
|
update-alternatives --set python3 /usr/bin/python"${PYTHON_VER}"
|
|
#TODO: the old one(/usr/bin/pip3) should be uninstalled first. Because the one will be
|
|
#put at /usr/local/. Then there will be two pips.
|
|
/usr/bin/python"${PYTHON_VER}" -m pip install --upgrade --force-reinstall pip==19.0.3
|
|
fi
|
|
elif [ "$OS_VERSION" = "22.04" ] ; then
|
|
# The defaul version of python is 3.10
|
|
major=$(echo "$PYTHON_VER" | cut -d. -f1)
|
|
minor=$(echo "$PYTHON_VER" | cut -d. -f2)
|
|
if [ "$major" -lt 3 ] || [ "$major" -eq 3 ] && [ "$minor" -lt 10 ]; then
|
|
PYTHON_VER="3.10"
|
|
fi
|
|
if [ "$PYTHON_VER" != "3.10" ]; then
|
|
add-apt-repository -y ppa:deadsnakes/ppa
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends \
|
|
python"${PYTHON_VER}" \
|
|
python"${PYTHON_VER}"-dev
|
|
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python"${PYTHON_VER}" 1
|
|
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
|
|
update-alternatives --set python3 /usr/bin/python"${PYTHON_VER}"
|
|
fi
|
|
else
|
|
exit 1
|
|
fi
|
|
|
|
rm -rf /var/lib/apt/lists/*
|