Module

简介

软件安装到自定义的目录后,并不能直接使用,需要将软件的可执行文件路径等添加到对应的环境变量后才能使用。module则是一款环境变量管理工具,通过module实现软件环境变量的管理,快速加载和切换软件环境。集群安装了常用的一些软件和库,可通过module进行加载使用。

使用方法

一、首先介绍module常见的一些指令

module help    #显示帮助信息
module avail    #显示已经安装的软件环境
module load    #导入相应的软件环境
module unload    #删除相应的软件环境
module list    #列出已经导入的软件环境
module purge#     #清除所有已经导入的软件环境
module switch [mod1] mod2     #删除 mod1 并导入mod2

二、接着介绍几个 module 的使用例子;

module avail    #查看集群现有软件活库
module avail matlab     #查看集群可用的 matlab 版本
module load matlab/R2023b    #导入matlab/R2017a 软件环境
module purge     #清除所有通过 module 导入的软件环境

三、最后介绍如何编写 modulefile 来管理自己的软件环境:

1.首先,创建目录用来存放自己的modulefile:

mkdir ${HOME}/mymodulefiles   # 创建目录用于放自己的module file
echo export MODULEPATH=${HOME}/mymodulefiles:\$MODULEPATH >> ~/.bashrc
source ~/.bashrc # 或者退出重新登录即可
# 编写自己的第一个module file
cd ${HOME}/mymodulefiles
vim myfirstmodulefile

2.然后在创建好的目录下编写modulefile,假设在/share/software/gcc/8.5.0安装了gcc编译器,则可以这么编写modulefile

#%Module1.0
##
##
module-whatis my first modulefile

set topdir /share/software/gcc/8.5.0
prepend-path PATH ${topdir}/bin
prepend-path LIBRARY_PATH ${topdir}/lib
prepend-path LD_LIBRARY_PATH ${topdir}/lib
prepend-path LIBRARY_PATH ${topdir}/lib64
prepend-path LD_LIBRARY_PATH ${topdir}/lib64
prepend-path CPATH ${topdir}/include
prepend-path CMAKE_PREFIX_PATH ${topdir}
setenv CC ${topdir}/bin/gcc
setenv CXX ${topdir}/bin/g++
setenv FC ${topdir}/bin/gfortran
setenv F77 ${topdir}/bin/gfortran
setenv F90 ${topdir}/bin/gfortra

3.编写好后执行module avail即可查看到刚刚写好的modulefile了 下为编写modulefile文件常见的语法;

set           # 设置modulefile内部的变量
setenv        # 设置环境变量
prepend-path    # 效果类似于export PATH=xxx:$PATH
append-path   # 效果类似export PATH=$PATH:xxx

最后更新: 2025 年 06 月 30 日