forestcalled/text-generation-webui
0
1#!/bin/bash2 3cd "$(dirname "${BASH_SOURCE[0]}")"4 5if [[ "$(pwd)" =~ " " ]]; then echo This script relies on Miniconda which can not be silently installed under a path with spaces. && exit; fi6 7# deactivate existing conda envs as needed to avoid conflicts8{ conda deactivate && conda deactivate && conda deactivate; } 2> /dev/null9 10OS_ARCH=$(uname -m)11case "${OS_ARCH}" in12 x86_64*) OS_ARCH="x86_64";;13 arm64*) OS_ARCH="aarch64";;14 aarch64*) OS_ARCH="aarch64";;15 *) echo "Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64" && exit16esac17 18# config19INSTALL_DIR="$(pwd)/installer_files"20CONDA_ROOT_PREFIX="$(pwd)/installer_files/conda"21INSTALL_ENV_DIR="$(pwd)/installer_files/env"22MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-py310_23.3.1-0-Linux-${OS_ARCH}.sh"23conda_exists="F"24 25# figure out whether git and conda needs to be installed26if "$CONDA_ROOT_PREFIX/bin/conda" --version &>/dev/null; then conda_exists="T"; fi27 28# (if necessary) install git and conda into a contained environment29# download miniconda30if [ "$conda_exists" == "F" ]; then31 echo "Downloading Miniconda from $MINICONDA_DOWNLOAD_URL to $INSTALL_DIR/miniconda_installer.sh"32 33 mkdir -p "$INSTALL_DIR"34 curl -Lk "$MINICONDA_DOWNLOAD_URL" > "$INSTALL_DIR/miniconda_installer.sh"35 36 chmod u+x "$INSTALL_DIR/miniconda_installer.sh"37 bash "$INSTALL_DIR/miniconda_installer.sh" -b -p $CONDA_ROOT_PREFIX38 39 # test the conda binary40 echo "Miniconda version:"41 "$CONDA_ROOT_PREFIX/bin/conda" --version42fi43 44# create the installer env45if [ ! -e "$INSTALL_ENV_DIR" ]; then46 "$CONDA_ROOT_PREFIX/bin/conda" create -y -k --prefix "$INSTALL_ENV_DIR" python=3.1147fi48 49# check if conda environment was actually created50if [ ! -e "$INSTALL_ENV_DIR/bin/python" ]; then51 echo "Conda environment is empty."52 exit53fi54 55# environment isolation56export PYTHONNOUSERSITE=157unset PYTHONPATH58unset PYTHONHOME59export CUDA_PATH="$INSTALL_ENV_DIR"60export CUDA_HOME="$CUDA_PATH"61 62# activate installer env63source "$CONDA_ROOT_PREFIX/etc/profile.d/conda.sh" # otherwise conda complains about 'shell not initialized' (needed when running in a script)64conda activate "$INSTALL_ENV_DIR"65 66# setup installer env67python one_click.py $@68 