This repository has been archived by the owner on Oct 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 553
/
install.sh
executable file
·77 lines (70 loc) · 2.04 KB
/
install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/env bash
set -e
cd "$(dirname "${0}")"
BASE_DIR="$(pwd)"
PACKAGES=(aria2 git unzip wget)
# Tensorflow states 3.4.0 as the minimum version.
# This is also the minimum version with venv support.
# 3.8.0 and up only includes tensorflow 2.0 and not 1.15
MIN_PYTHON_VERS="3.4.0"
MAX_PYTHON_VERS="3.7.9"
version_check () {
MAX_VERS=$(echo -e "$(python3 --version | cut -d' ' -f2)\n$MAX_PYTHON_VERS\n$MIN_PYTHON_VERS"\
| sort -V | tail -n1)
MIN_VERS=$(echo -e "$(python3 --version | cut -d' ' -f2)\n$MAX_PYTHON_VERS\n$MIN_PYTHON_VERS"\
| sort -V | head -n1)
if [ "$MIN_VERS" != "$MIN_PYTHON_VERS" ]; then
echo "Your installed python version, $(python3 --version), is too old."
echo "Please update to at least $MIN_PYTHON_VERS."
exit 1
elif [ "$MAX_VERS" != "$MAX_PYTHON_VERS" ]; then
echo "Your installed python version, $(python3 --version), is too new."
echo "Please install $MAX_PYTHON_VERS."
exit 1
fi
}
pip_install () {
if [ ! -d "./venv" ]; then
# Some distros have venv built into python so this isn't always needed.
if is_command 'apt-get'; then
apt-get install python3-venv
fi
python3 -m venv ./venv
fi
source "${BASE_DIR}/venv/bin/activate"
pip install --upgrade pip setuptools
pip install -r "${BASE_DIR}/requirements.txt"
}
is_command() {
command -v "${@}" > /dev/null
}
system_package_install() {
SUDO=''
if (( $EUID != 0 )); then
SUDO='sudo'
fi
PACKAGES=(aria2 git unzip wget)
if is_command 'apt-get'; then
$SUDO apt-get install ${PACKAGES[@]}
elif is_command 'brew'; then
brew install ${PACKAGES[@]}
elif is_command 'yum'; then
$SUDO yum install ${PACKAGES[@]}
elif is_command 'dnf'; then
$SUDO dnf install ${PACKAGES[@]}
elif is_command 'pacman'; then
$SUDO pacman -S ${PACKAGES[@]}
elif is_command 'apk'; then
$SUDO apk --update add ${PACKAGES[@]}
else
echo "You do not seem to be using a supported package manager."
echo "Please make sure ${PACKAGES[@]} are installed then press [ENTER]"
read NOT_USED
fi
}
install_aid () {
version_check
pip_install
system_package_install
}
install_aid