Skip to content
Snippets Groups Projects
Select Git revision
  • c040e4d90811cc01a8be80a5e238c703fdb8160b
  • main default protected
2 results

activate.sh

Blame
  • janEbert's avatar
    Jan Ebert authored
    Good practice in order not to hog the login nodes during setup.
    c040e4d9
    History
    activate.sh 924 B
    #!/usr/bin/env bash
    
    if [ -z "$curr_dir" ]; then
        curr_file="${BASH_SOURCE[0]:-${(%):-%x}}"
        curr_dir="$(dirname "$curr_file")"
    fi
    
    venv_dir="$curr_dir"/env-"$SYSTEMNAME"
    
    [ -x "$(command -v deactivate)" ] && deactivate
    
    module --force purge
    if ! [ -f "$curr_dir"/modules.sh ]; then
        echo "Cannot find \`$curr_dir/modules.sh\`; its existence is required."
        exit 1
    fi
    source "$curr_dir"/modules.sh
    
    if ! [ -d "$venv_dir" ]; then
        echo "Please manually execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
             "on a login node to create the \`venv\`."
        exit 1
    elif ! [ -f "$venv_dir"/bin/activate ]; then
        echo "Something seems to be wrong with the \`venv\` at \`$venv_dir\`." \
             "Please delete it (\`nice rm -rf ${venv_dir@Q}\`) and" \
             "execute \`nice bash ${curr_dir@Q}/set_up.sh\`" \
             "on a login node to re-create the \`venv\`."
        exit 1
    fi
    source "$venv_dir"/bin/activate