|
#!/bin/sh |
|
printf "\033]0;Installer\007" |
|
clear |
|
rm *.bat |
|
|
|
|
|
prepare_install() { |
|
if [ -d ".venv" ]; then |
|
echo "Venv found. This implies Applio has been already installed or this is a broken install" |
|
printf "Do you want to execute run-applio.sh? (Y/N): " >&2 |
|
read -r r |
|
r=$(echo "$r" | tr '[:upper:]' '[:lower:]') |
|
if [ "$r" = "y" ]; then |
|
./run-applio.sh && exit 1 |
|
else |
|
echo "Ok! The installation will continue. Good luck!" |
|
fi |
|
. .venv/bin/activate |
|
else |
|
echo "Creating venv..." |
|
requirements_file="requirements.txt" |
|
echo "Checking if python exists" |
|
if command -v python3 > /dev/null 2>&1; then |
|
py=$(which python3) |
|
echo "Using python3" |
|
else |
|
if python --version | grep -q 3.; then |
|
py=$(which python) |
|
echo "Using python" |
|
else |
|
echo "Please install Python3 or 3.11 manually." |
|
exit 1 |
|
fi |
|
fi |
|
|
|
$py -m venv .venv |
|
. .venv/bin/activate |
|
python -m ensurepip |
|
|
|
pip3 install --upgrade pip |
|
echo |
|
echo "Installing Applio dependencies..." |
|
python -m pip install -r requirements.txt |
|
python -m pip uninstall torch torchvision torchaudio -y |
|
python -m pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu117 |
|
finish |
|
fi |
|
} |
|
|
|
|
|
finish() { |
|
|
|
if [ -f "${requirements_file}" ]; then |
|
installed_packages=$(python -m pip freeze) |
|
while IFS= read -r package; do |
|
expr "${package}" : "^#.*" > /dev/null && continue |
|
package_name=$(echo "${package}" | sed 's/[<>=!].*//') |
|
if ! echo "${installed_packages}" | grep -q "${package_name}"; then |
|
echo "${package_name} not found. Attempting to install..." |
|
python -m pip install --upgrade "${package}" |
|
fi |
|
done < "${requirements_file}" |
|
else |
|
echo "${requirements_file} not found. Please ensure the requirements file with required packages exists." |
|
exit 1 |
|
fi |
|
clear |
|
echo "Applio has been successfully downloaded. Run the file run-applio.sh to run the web interface!" |
|
exit 0 |
|
} |
|
|
|
|
|
if [ "$(uname)" = "Darwin" ]; then |
|
if ! command -v brew >/dev/null 2>&1; then |
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
|
else |
|
brew install python |
|
export PYTORCH_ENABLE_MPS_FALLBACK=1 |
|
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 |
|
fi |
|
elif [ "$(uname)" != "Linux" ]; then |
|
echo "Unsupported operating system. Are you using Windows...?" |
|
echo "If yes, use the batch (.bat) file instead of this one!" |
|
exit 1 |
|
fi |
|
|
|
prepare_install |