2

我正在尝试运行脚本。本质上,我需要加载一些模块,然后执行 python 脚本。所以像这样的事情......

#!/usr/bin/env bash
module use /PATH/TO/MODULEFILE
module load MY_MODULE

python my_script.py

我得到的问题是每次我尝试执行脚本时都会收到此错误 - “模块:找不到命令”。我不明白如何更改脚本来解决这个问题。我能够从 shell 运行模块命令。我还运行了“whereis -b module”,我刚刚得到了“module:”。

我需要做什么才能从脚本内部加载这个模块?谢谢

4

2 回答 2

0

您可以通过获取模块安装目录中提供的初始化脚本module来从您的 python 脚本中启用该命令。python.pyinit

以下一段 python 代码定义了module函数,然后启用模块路径并加载模块文件:

#!/usr/bin/python
import os
exec(open('/PATH/TO/MODULES/init/python.py').read())
module('use', '/PATH/TO/MODULEFILE')
module('load', 'MY_MODULE')
于 2018-07-30T19:30:01.270 回答
0

如果你想module在你的 bash 脚本中启用,它可以像使用不同的命令来运行脚本一样简单。script.sh对我来说,以as. script.sh或 as运行脚本./script.sh将正确加载模块,但以 as 运行它sh script.sh会导致上述错误。

于 2019-12-05T21:14:14.710 回答