Skip to content

Example: loading modules for the right Python packages

Loading modules is simple:

  1. You find the module and version using module avail or search for it using module spider.
  2. You load the module directly and/or the module toolchain to access to the module.

Example:

In this example we will load scipy.

$ module spider scipy

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  scipy:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     Versions:
        scipy/1.11.1 (E)
        scipy/1.11.4 (E)
        scipy/1.13.1 (E)
        scipy/1.16.0 (E)
        scipy/1.16.1 (E)
     Other possible modules matches:
        SciPy-bundle

Names marked by a trailing (E) are extensions provided by another module.


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  To find other possible module matches execute:

      $ module -r spider '.*scipy.*'

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  For detailed information about a specific "scipy" package (including how to load the modules) use the module's full name.
  Note that names that have a trailing (E) are extensions provided by other modules.
  For example:

     $ module spider scipy/1.16.1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

At this time there are multiple versions of scipy available. We are interested in the latest version.

$ module spider scipy/1.16.1

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  scipy: scipy/1.16.1 (E)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    This extension is provided by the following modules. To access the extension you must load one of the following modules. Note that any module names in parentheses show the modul
e location in the software hierarchy.


       SciPy-bundle/2025.07-gfbf-2025b


Names marked by a trailing (E) are extensions provided by another module.

scipy/1.16.1 can be provided by SciPy-bundle/2025.07-gfbf-2025b module.

$ module load SciPy-bundle/2025.07-gfbf-2025b

We finish with listing all our loaded modules:

$ module list

Currently Loaded Modules:
  1) GCCcore/14.3.0                 9) bzip2/1.0.8-GCCcore-14.3.0      17) Python/3.13.5-GCCcore-14.3.0
  2) zlib/1.3.1-GCCcore-14.3.0     10) ncurses/6.5-GCCcore-14.3.0      18) cffi/1.17.1-GCCcore-14.3.0
  3) binutils/2.44-GCCcore-14.3.0  11) libreadline/8.2-GCCcore-14.3.0  19) cryptography/45.0.5-GCCcore-14.3.0
  4) GCC/14.3.0                    12) Tcl/9.0.1-GCCcore-14.3.0        20) virtualenv/20.32.0-GCCcore-14.3.0
  5) AOCL-BLAS/5.1-GCC-14.3.0      13) SQLite/3.50.1-GCCcore-14.3.0    21) Python-bundle-PyPI/2025.07-GCCcore-14.3.0
  6) FlexiBLAS/3.4.5-GCC-14.3.0    14) XZ/5.8.1-GCCcore-14.3.0         22) SciPy-bundle/2025.07-gfbf-2025b
  7) FFTW/3.3.10-GCC-14.3.0        15) libffi/3.5.1-GCCcore-14.3.0
  8) gfbf/2025b                    16) OpenSSL/3

That was a lot of modules needed! Luckily the module system handled all dependencies for us.