calcoloscientifico:cluster:softwareapplicativo:conda_user
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| calcoloscientifico:cluster:softwareapplicativo:conda_user [18/09/2025 16:46] – fabio.spataro | calcoloscientifico:cluster:softwareapplicativo:conda_user [25/02/2026 15:08] (versione attuale) – fabio.spataro | ||
|---|---|---|---|
| Linea 123: | Linea 123: | ||
| It is also possible to install python packages using the " | It is also possible to install python packages using the " | ||
| + | ==== Example with conda and pip ==== | ||
| + | |||
| + | General template that can be used to create personal or group environments: | ||
| + | |||
| + | <code bash hpc-make-condaenv-networkx> | ||
| + | #!/bin/bash | ||
| + | |||
| + | set -e | ||
| + | |||
| + | PYTHON_VERSION=' | ||
| + | CONDAENV_NAME=' | ||
| + | CONDAENV_RELEASE=' | ||
| + | CONDAENV_DEFAULT=' | ||
| + | NETWORKX_VERSION=' | ||
| + | |||
| + | help() { | ||
| + | cat <<EOF | ||
| + | Synopsis: | ||
| + | $(basename $0) [--dry-run] | ||
| + | $(basename $0) [--pip-dry-run] | ||
| + | $(basename $0) --help | ||
| + | |||
| + | Usage: | ||
| + | $(basename $0) | ||
| + | $(basename $0) --dry-run | ||
| + | $(basename $0) --pip-dry-run | ||
| + | |||
| + | Example: | ||
| + | $(basename $0) | ||
| + | $(basename $0) --dry-run | ||
| + | $(basename $0) --pip-dry-run | ||
| + | |||
| + | Options: | ||
| + | -d, --dry-run | ||
| + | --pip-dry-run | ||
| + | -h, --help | ||
| + | EOF | ||
| + | } | ||
| + | |||
| + | die() { | ||
| + | if [ $# -ge 1 ]; then | ||
| + | echo " | ||
| + | fi | ||
| + | exit 1 | ||
| + | } | ||
| + | |||
| + | # Command line options | ||
| + | opt=$(getopt \ | ||
| + | --options hd \ | ||
| + | --longoptions help, | ||
| + | --name $(basename $0) \ | ||
| + | -- \ | ||
| + | " | ||
| + | |||
| + | retval=$? | ||
| + | |||
| + | if [ $retval -ne 0 ]; then | ||
| + | exit $retval | ||
| + | fi | ||
| + | |||
| + | eval set -- " | ||
| + | |||
| + | while true; do | ||
| + | case " | ||
| + | -h|--help) | ||
| + | shift | ||
| + | help | ||
| + | exit;; | ||
| + | |||
| + | -d|--dry-run) | ||
| + | shift | ||
| + | opt_dry_run=true;; | ||
| + | |||
| + | --pip-dry-run) | ||
| + | shift | ||
| + | opt_pip_dry_run=true;; | ||
| + | |||
| + | --) | ||
| + | shift | ||
| + | break;; | ||
| + | |||
| + | *) | ||
| + | die ' | ||
| + | exit 1;; | ||
| + | esac | ||
| + | done | ||
| + | |||
| + | # CONDA dry run | ||
| + | if [ -n " | ||
| + | unset PYTHON_VERSION | ||
| + | fi | ||
| + | |||
| + | # PIP dry run | ||
| + | if [ -n " | ||
| + | unset NETWORKX_VERSION | ||
| + | fi | ||
| + | |||
| + | # CONDA environment name | ||
| + | if [ -n " | ||
| + | CONDAENV_VERSION=" | ||
| + | else | ||
| + | if [ -n " | ||
| + | PY=${PYTHON_VERSION: | ||
| + | fi | ||
| + | CONDAENV_VERSION=${PY: | ||
| + | fi | ||
| + | if [ -n " | ||
| + | CONDAENV_VERSION=" | ||
| + | fi | ||
| + | CONDAENV=" | ||
| + | |||
| + | module load miniconda3 | ||
| + | |||
| + | source " | ||
| + | |||
| + | if [ $UID = 0 ]; then | ||
| + | CONDAENV_PREFIX="/ | ||
| + | CONDAENV_SYMLNK="/ | ||
| + | else | ||
| + | if [ -z " | ||
| + | echo ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | if [ -z " | ||
| + | echo ' | ||
| + | exit 1 | ||
| + | fi | ||
| + | echo " | ||
| + | echo " | ||
| + | CONDAENV_PREFIX=" | ||
| + | CONDAENV_SYMLNK=" | ||
| + | fi | ||
| + | |||
| + | echo " | ||
| + | if echo " | ||
| + | echo " | ||
| + | fi | ||
| + | echo | ||
| + | |||
| + | if [ -z " | ||
| + | if [ -d " | ||
| + | echo -n " | ||
| + | |||
| + | read ans | ||
| + | |||
| + | case " | ||
| + | [yY]|[yY][Ee][Ss]) | ||
| + | conda env remove --name " | ||
| + | ;; | ||
| + | [nN]|[nN][oO]) | ||
| + | ;; | ||
| + | *) | ||
| + | echo | ||
| + | exec " | ||
| + | exit | ||
| + | ;; | ||
| + | esac | ||
| + | fi | ||
| + | |||
| + | if [ -d " | ||
| + | echo -n " | ||
| + | else | ||
| + | echo -n " | ||
| + | fi | ||
| + | |||
| + | read ans | ||
| + | |||
| + | case " | ||
| + | [yY]|[yY][Ee][Ss]) | ||
| + | ;; | ||
| + | [nN]|[nN][oO]) | ||
| + | exit 1 | ||
| + | ;; | ||
| + | *) | ||
| + | echo | ||
| + | exec " | ||
| + | exit | ||
| + | ;; | ||
| + | esac | ||
| + | fi | ||
| + | |||
| + | conda info | ||
| + | |||
| + | if [ ! -d " | ||
| + | # CONDA create | ||
| + | conda create \ | ||
| + | --yes \ | ||
| + | ${opt_dry_run: | ||
| + | --prefix " | ||
| + | --override-channels \ | ||
| + | --channel conda-forge \ | ||
| + | python${PYTHON_VERSION: | ||
| + | pip \ | ||
| + | matplotlib | ||
| + | fi | ||
| + | |||
| + | if [ -n " | ||
| + | conda deactivate | ||
| + | exit | ||
| + | fi | ||
| + | |||
| + | CONDADEF_PIP=" | ||
| + | |||
| + | conda activate " | ||
| + | |||
| + | CONDAENV_PIP=" | ||
| + | |||
| + | # PIP check | ||
| + | if [ " | ||
| + | echo " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | # PIP install or upgrade pip | ||
| + | pip install --upgrade ${opt_pip_dry_run: | ||
| + | |||
| + | # PIP install or upgrade | ||
| + | pip install --upgrade ${opt_pip_dry_run: | ||
| + | networkx${NETWORKX_VERSION: | ||
| + | |||
| + | conda list || true | ||
| + | |||
| + | conda deactivate | ||
| + | |||
| + | # PIP dry run | ||
| + | if [ -n " | ||
| + | exit | ||
| + | fi | ||
| + | |||
| + | # CONDA environment symbolic link | ||
| + | if echo " | ||
| + | rm -f " | ||
| + | ln -s " | ||
| + | symlinks -cs $(dirname " | ||
| + | ls -lard " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | This script is located in | ||
| + | |||
| + | < | ||
| + | / | ||
| + | </ | ||
| ==== Creating a user environment ==== | ==== Creating a user environment ==== | ||
| Linea 191: | Linea 434: | ||
| < | < | ||
| [< | [< | ||
| + | |||
| + | [< | ||
| [...] | [...] | ||
| + | |||
| + | [< | ||
| + | |||
| + | [< | ||
| </ | </ | ||
calcoloscientifico/cluster/softwareapplicativo/conda_user.1758206819.txt.gz · Ultima modifica: da fabio.spataro
