module-命令基本使用

Environment Module 项目文档

介绍

Module 是一个用于管理软件环境的工具, 通过加载和卸载模块 (模块其实就是几个描述文件, 表示要设置哪些环境变量, 执行初始化脚本等) 来动态配置环境.

安装

Modules 在 Unix 系统上的包名一般为 modulesenvironment-modules.

也可以直接从源码安装:

1
2
3
4
5
6
curl -LJO https://github.com/cea-hpc/modules/releases/download/v5.4.0/modules-5.4.0.tar.gz
tar xfz modules-5.4.0.tar.gz
cd modules-5.4.0
./configure
make
make install

默认会安装到 /usr/local/Modules 目录下.

初始化

在使用 module 之前, 需要先初始化, 可以将初始化脚本放在登录自动读取的目录下:

1
2
ln -s PREFIX/init/profile.sh /etc/profile.d/modules.sh
ln -s PREFIX/init/profile.csh /etc/profile.d/modules.csh

(看自己是啥环境来选择)

之后需要设置 modulepath, 以便 module 能找到 modulefile:

1
2
module use /path/to/regular/modulefiles
module use /path/to/other/modulefiles

(可以将其加到 initrc 文件里)

可以用:

1
echo $MODULEPATH

来查看当前的 modulepath.

若想自动加载一些 modulefile, 可以把:

1
2
module load foo
module load bar

也加入到 initrc 文件里.

配置

可以通过设置 MODULEPATHLOADEDMODULES 环境变量来指定 modulefiles 的存储位置, 如果这两个环境变量都没设置, 则会查找 /etc/environment-modules 目录下的 modulespathinitrc 文件:

  • modulespath 文件中, 用 newline 或 colon 来分隔 modulespath 列表
  • initrc 是一个 modulefile

相关概念

modulefile

modulefile 是一个描述如何配置 shell 或应用的文件, 如:

1
2
3
4
5
6
7
8
#%Module1.0
module-whatis "Anaconda3 support python3.6.5"

conflict apps/anaconda3

set APPS_HOME /public/software/apps/anaconda3/5.2.0

prepend-path PATH ${APPS_HOME}/bin
  • #%Module1.0 指明 modulefile 遵循的模块版本
  • module-whatis 提供一个描述信息, 可以在 module show 中看到
  • conflict 定义了会与当前模块发生冲突的其他模块, 如果用户尝试加载该模块, 则会提示冲突并阻止加载
  • set 设置一个环境变量
  • prepend-path${APPS_HOME}/bin 添加到 PATH
1
2
3
4
5
6
7
8
$ module show apps/anaconda3/5.2.0 
-------------------------------------------------------------------
/public/software/modules/apps/anaconda3/5.2.0:

module-whatis Anaconda3 support python3.6.5
conflict apps/anaconda3
prepend-path PATH /public/software/apps/anaconda3/5.2.0/bin
-------------------------------------------------------------------

使用

查看帮助文档

1
module help

查看可用模块

1
module avail

加载模块

1
module load anaconda3

卸载模块

1
module unload anaconda3

查看以加载的模块

1
module list

查看某个模块的详细信息

1
module show anaconda3

添加自定义模块搜索路径

1
module use /path/to/custom/modulefiles

module-命令基本使用
http://example.com/2024/10/13/module-命令基本使用/
作者
Jie
发布于
2024年10月13日
许可协议