Download scripts/bootstrap.sh from Wopke/SzD: direct link, hf CLI and curl.
- Browser
- Download file 3.75 kB
-
https://huggingface.co/spaces/Wopke/SzD/resolve/main/scripts/bootstrap.sh
- Command line
-
hf download hf://spaces/Wopke/SzD/scripts/bootstrap.sh
-
curl -L -o bootstrap.sh https://huggingface.co/spaces/Wopke/SzD/resolve/main/scripts/bootstrap.sh
3.75 kB
| # This script will install git and conda (if not found on the PATH variable) | |
| # using micromamba (an 8mb static-linked single-file binary, conda replacement). | |
| # For users who already have git and conda, this step will be skipped. | |
| # This enables a user to install this project without manually installing conda and git. | |
| source ./scripts/functions.sh | |
| set -o pipefail | |
| OS_NAME=$(uname -s) | |
| case "${OS_NAME}" in | |
| Linux*) OS_NAME="linux";; | |
| Darwin*) OS_NAME="osx";; | |
| *) echo "Unknown OS: $OS_NAME! This script runs only on Linux or Mac" && exit | |
| esac | |
| OS_ARCH=$(uname -m) | |
| case "${OS_ARCH}" in | |
| x86_64*) OS_ARCH="64";; | |
| arm64*) OS_ARCH="arm64";; | |
| aarch64*) OS_ARCH="arm64";; | |
| *) echo "Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64" && exit | |
| esac | |
| if ! which curl; then fail "'curl' not found. Please install curl."; fi | |
| if ! which tar; then fail "'tar' not found. Please install tar."; fi | |
| if ! which bzip2; then fail "'bzip2' not found. Please install bzip2."; fi | |
| if pwd | grep ' '; then fail "The installation directory's path contains a space character. Conda will fail to install. Please change the directory."; fi | |
| # https://mamba.readthedocs.io/en/latest/installation.html | |
| if [ "$OS_NAME" == "linux" ] && [ "$OS_ARCH" == "arm64" ]; then OS_ARCH="aarch64"; fi | |
| # config | |
| export MAMBA_ROOT_PREFIX="$(pwd)/installer_files/mamba" | |
| INSTALL_ENV_DIR="$(pwd)/installer_files/env" | |
| LEGACY_INSTALL_ENV_DIR="$(pwd)/installer" | |
| MICROMAMBA_DOWNLOAD_URL="https://micro.mamba.pm/api/micromamba/${OS_NAME}-${OS_ARCH}/latest" | |
| umamba_exists="F" | |
| # figure out whether git and conda needs to be installed | |
| if [ -e "$INSTALL_ENV_DIR" ]; then export PATH="$INSTALL_ENV_DIR/bin:$PATH"; fi | |
| PACKAGES_TO_INSTALL="" | |
| if [ ! -e "$LEGACY_INSTALL_ENV_DIR/etc/profile.d/conda.sh" ] && [ ! -e "$INSTALL_ENV_DIR/etc/profile.d/conda.sh" ]; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL conda python=3.8.5"; fi | |
| if ! hash "git" &>/dev/null; then PACKAGES_TO_INSTALL="$PACKAGES_TO_INSTALL git"; fi | |
| if "$MAMBA_ROOT_PREFIX/micromamba" --version &>/dev/null; then umamba_exists="T"; fi | |
| # (if necessary) install git and conda into a contained environment | |
| if [ "$PACKAGES_TO_INSTALL" != "" ]; then | |
| # download micromamba | |
| if [ "$umamba_exists" == "F" ]; then | |
| echo "Downloading micromamba from $MICROMAMBA_DOWNLOAD_URL to $MAMBA_ROOT_PREFIX/micromamba" | |
| mkdir -p "$MAMBA_ROOT_PREFIX" | |
| curl -L "$MICROMAMBA_DOWNLOAD_URL" | tar -xvj -O bin/micromamba > "$MAMBA_ROOT_PREFIX/micromamba" | |
| if [ "$?" != "0" ]; then | |
| echo | |
| echo "EE micromamba download failed" | |
| echo "EE If the lines above contain 'bzip2: Cannot exec', your system doesn't have bzip2 installed" | |
| echo "EE If there are network errors, please check your internet setup" | |
| fail "micromamba download failed" | |
| fi | |
| chmod u+x "$MAMBA_ROOT_PREFIX/micromamba" | |
| # test the mamba binary | |
| echo "Micromamba version:" | |
| "$MAMBA_ROOT_PREFIX/micromamba" --version | |
| fi | |
| # create the installer env | |
| if [ ! -e "$INSTALL_ENV_DIR" ]; then | |
| "$MAMBA_ROOT_PREFIX/micromamba" create -y --prefix "$INSTALL_ENV_DIR" || fail "unable to create the install environment" | |
| fi | |
| if [ ! -e "$INSTALL_ENV_DIR" ]; then | |
| fail "There was a problem while installing$PACKAGES_TO_INSTALL using micromamba. Cannot continue." | |
| fi | |
| echo "Packages to install:$PACKAGES_TO_INSTALL" | |
| "$MAMBA_ROOT_PREFIX/micromamba" install -y --prefix "$INSTALL_ENV_DIR" -c conda-forge $PACKAGES_TO_INSTALL | |
| if [ "$?" != "0" ]; then | |
| fail "Installation of the packages '$PACKAGES_TO_INSTALL' failed." | |
| fi | |
| fi | |