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 日