微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

模块加载路径环境变量

如何解决模块加载路径环境变量

我目前正在远程服务器上工作(通过 ssh),我需要加载一些模块(模块加载 [package1][package2] ecc)。具体来说,它需要numpy 1.15.2版本,但在包含所有numpy版本的目录中,只有1.14.0版本。

无论如何,我能够获得包 numpy/1.15.2--python--3.6.4(我显然没有权限在包含其他版本的 numpy 的目录中复制)所以我​​想知道如果我可以(以及如何)临时更改环境变量路径,以便仅在这种情况下指定“模块加载”应该查找的位置,而不是像其他模块那样使用通常的存储库。

解决方法

临时更改环境变量路径

我认为最简单的方法是使用修改后的 PATH 创建一个子 shell 并在其中工作:

PATH=modifiedpath bash 

这是否有效,取决于您在 .bashrc 中使用 PATH 究竟在做什么。如果您在那里重新评估旧的 PATH,您的更改将会丢失,在这种情况下,您可以改为执行

PATH=modifiedpath bash --norc

绕过soucring .bashrc。当然,这意味着 .bashrc 中的别名、函数和非导出变量也不可用。

如果这也导致问题,您可以留在 shell 中,但暂时保护 PATH:

origpath=$PATH
PATH=modifiedpath
... do your work
PATH=$origpath # restore it
,

您可以拥有自己的模块路径来取代您使用的系统上的管理员提供的模块路径。

只需创建一个目录结构,然后在其中添加您自己的 numpy/version 模块文件(此类模块文件应定义环境变量以使用您特定安装的 numpy 包)。

$ mkdir ~/modulefiles
$ mkdir ~/modulefiles/numpy
$ $EDITOR ~/modulefiles/numpy/<version>

然后在您当前的 shell 会话中启用此模块路径:

$ module use ~/modulefiles

最后添加的模块路径具有更高的优先级,因此当您执行 module load numpy 命令时,它将加载您的特定 numpy 模块文件,而不是默认提供的 numpy 模块文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。