#!/bin/bash set -e module load miniconda3 source "$CONDA_PREFIX/etc/profile.d/conda.sh" CONDAENV_NAME='template' CONDAENV_VERSION=$(date '+%Y.%m.%d') PYTHON_VERSION='3.8' CONDAENV="${CONDAENV_NAME}-${CONDAENV_VERSION}" if [ $UID = 0 ]; then CONDAENV_PREFIX="/hpc/share/tools/miniconda3/envs/$CONDAENV" CONDAENV_SYMLNK="/hpc/share/tools/miniconda3/envs/$CONDAENV_NAME" else if [ -z "$CONDA_ENVS_PATH" ]; then echo 'Error: the CONDA_ENVS_PATH envarionment variable is not set' 1>&2 exit 1 fi if [ -z "$CONDA_PKGS_DIRS" ]; then echo 'Error: the CONDA_PKGS_DIRS envarionment variable is not set' 1>&2 exit 1 fi echo "CONDA_ENVS_PATH: $CONDA_ENVS_PATH" echo "CONDA_PKGS_DIRS: $CONDA_PKGS_DIRS" CONDAENV_PREFIX="$CONDA_ENVS_PATH/$CONDAENV" CONDAENV_SYMLNK="$CONDA_ENVS_PATH/$CONDAENV_NAME" fi if [ $UID = 0 ]; then conda --version conda update conda conda --version echo fi echo "CONDAENV_PREFIX: $CONDAENV_PREFIX" echo "CONDAENV_SYMLNK: $CONDAENV_SYMLNK" echo if [ -d "$CONDAENV_PREFIX" ]; then echo -n "Should we remove the already existing condaenv '$CONDAENV_NAME' (yes/no)? " read ans case "$ans" in [yY]|[yY][Ee][Ss]) conda env remove --name "$CONDAENV" ;; [nN]|[nN][oO]) ;; *) echo exec "$0" exit ;; esac fi if [ -d "$CONDAENV_PREFIX" ]; then echo -n "Should we proceed with the modification of the condaenv '$CONDAENV_NAME' (yes/no)? " else echo -n "Should we proceed with the creation of the condaenv '$CONDAENV_NAME' (yes/no)? " fi read ans case "$ans" in [yY]|[yY][Ee][Ss]) ;; [nN]|[nN][oO]) exit 1 ;; *) echo exec "$0" exit ;; esac conda info if [ ! -d "$CONDAENV_PREFIX" ]; then conda create --yes --prefix "$CONDAENV_PREFIX" python=$PYTHON_VERSION fi conda activate "$CONDAENV" conda install --yes --name "$CONDAENV" \ --channel conda-forge \ xz conda list || true conda deactivate ln -sf "$CONDAENV_PREFIX" "$CONDAENV_SYMLNK" ls -la "$CONDAENV_SYMLNK"*