This repository has been archived on 2025-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
AIDungeon/install.sh

78 lines
2 KiB
Bash
Raw Normal View History

2025-03-11 22:26:45 -04:00
#!/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