Unity software overview
Ways to install packages
apt
package manager
The Ubuntu system package manager apt
downloads its packages pre-compiled from the Ubuntu repository. These are in standard locations like /usr/bin
so that they are always found in your $PATH
. This requires administrator access. To avoid conflicts, most software is only available in one version. As a rule, we only install basic support packages this way, not research software.
Environment modules
There are a wide variety of modules available with the module
/modules/apps/
or in /modules/spack/packages/
.
Relevant documentation:
Conda environments
The conda package manager allows users to compile software easily and without administrator privileges. Conda creates environments for a set of compatible software, and you can activate the environments as needed.
Relevant Documentation:
Virtual environments in Python
The venv module in Python creates a light virtual environment that allows users to isolate specific versions of the Python interpreter and software libraries for their projects. It comes with the standard library of Python and does not require a separate installation. Venv is ideal for project-based workflows.
Relevant documentation:
R package management
Generally you can use R
’s native install.packages()
and it should work as intended. However, if you have external dependencies, using them with our standard modules r-rocker-ml-verse/*-apptainer
may run into issues. You can build a container for it, using a recipe like this:
Bootstrap: docker
From: rocker/ml-verse:{{ R_VERSION }}
%arguments
R_VERSION=4.4.0
%post
apt-get -y update
apt-get -y install jags
# Install R packages
Rscript -e 'install.packages("pak")'
Rscript -e 'pak::pak(c("rjags", "jagsUI", "coda", "EnvStats", "sads"))'
And then build the container giving a destination image name (.sif
) and the preceding definition file:
apptainer build --ignore-fakeroot-command my-r.sif my-r.def
Relevant Documentation:
Containers: Docker, Singularity, and Apptainer
While Docker is not supported in an HPC environment, Apptainer provides nearly equivalent capability. It’s possible to pull an existing Docker image into a local Apptainer image file like this:
apptainer pull docker://ollama/ollama
If you need to install your own set of software, you can create and build your own container as show preceding in R Package Management