首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置环境模块

设置环境模块
EN

Stack Overflow用户
提问于 2018-12-07 16:12:36
回答 1查看 1.4K关注 0票数 1

我最近在Linux 19上安装了environment-modules包(version 4.1.1-1),并且我正在努力研究如何设置不同的环境。不幸的是,当您还不是主题方面的专家时,文档只给出了很少的提示作为应该做的事情(我希望有一个简单的例子,但是我发现大部分只是一个命令列表)。具体而言,我有以下情况:

  • 我在/usr/share/modules/中安装了模块。
  • 我使用两个不同的编译器(GNU和Intel)编译了OpenMPI。相应的二进制文件、库等分别位于/usr/local/modules/mpi/gnu/usr/local/modules/mpi/intel中。
  • 我想设置两个环境,每个编译版本的MPI都有一个环境,这样我就可以轻松地在这些环境(module load mpi/gnumodule load mpi/intel或类似的东西)之间切换。

如果这个问题是琐碎的,或者是以前发布过的,我很抱歉。仅仅是模块包的名字就使得搜索web以获得支持变得非常困难(就像有人给他们的产品软件命名一样;幸运的是,在Google上找到了你需要的东西)。您的协助将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-07 18:05:01

一旦安装了软件,就需要编写模块文件来启用它们。首先定义放置这些模块文件的位置,例如:

代码语言:javascript
复制
mkdir /usr/local/modules/modulefiles

在此目录中,创建表示将引用模块文件的名称的子目录。

代码语言:javascript
复制
mkdir -p /usr/local/modules/modulefiles/mpi/gnu
mkdir -p /usr/local/modules/modulefiles/mpi/intel

在这些目录中,根据您安装的软件的版本号(例如,3.1.3)创建一个模块文件。使用版本号命名模块文件有助于在以后安装更新版本的软件时拥有多个模块文件。

现在,使用mpi/gnu/3.1.3创建由/usr/local/modules/modulefiles/mpi/gnu/3.1.3文件表示的模块文件模块文件语法的内容。

代码语言:javascript
复制
#%Module
conflict     mpi
prepend-path PATH /usr/local/modules/mpi/gnu/bin
prepend-path LD_LIBRARY_PATH /usr/local/modules/mpi/gnu/lib
prepend-path MANPATH /usr/local/modules/mpi/gnu/man

根据需要/要设置的环境配置调整此内容。

mpi/intel/3.1.3模块文件在/usr/local/modules/modulefiles/mpi/intel/3.1.3中重复此步骤。

一旦您准备好这些模块文件,就需要将它们放在shell会话中。这可以通过module use命令来完成:

代码语言:javascript
复制
module use /usr/local/modules/modulefiles

从那里,可以在模块目录(module avail)和加载(module load)之间找到两个模块文件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53673172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档