首页 > 解决方案 > 如何为 linux 环境模块创建模块文件?

问题描述

如何在 centos7 上为任何软件(例如 python)创建模块文件?

模块文件的路径是/etc/modulefile

我有两个版本的 python(python2.7 和 python3.7)。

我在 modulefiles 中为 python 创建一个目录/etc/modulefiles/python,然后我应该为 paython 创建一个 modulefiles,如下代码:

#%Module 1.0
# python2.7 module file

conflict        python
prepend-path  PATH              ---
prepend-path  LD_LIBRARY_PATH   ----
prepend-path  MANPATH           ---
prepend-path  INFOPATH          ---

setenv        --_DIR            ---
setenv        --_BIN            ---
setenv        --_INC            ---
setenv        --_LIB            --- 

我的问题是我怎样才能得到正确的变量prepend-pathsetenv

下面是命令的结果,whereis python我们可以从中提取变量吗:prepend-pathsetenv

[root@mu modulefiles]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/local/bin/python3.7m-config /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/lib/python3.7 /usr/include/python2.7 /etc/modulefiles/python /usr/share/man/man1/python.1.gz

标签: linuxtclcentos7environment-modulesmodulefile

解决方案


PATH变量是用于搜索二进制文件的环境变量。您安装了两个不同版本的 Python,因此每个版本都应该有一个不同的目录,其中包含 python 可执行文件(bin并且可能还有extra/bin)。

LD_LIBRARY_PATH用于列出包含库的目录。可能libextra/lib等。

根据您尝试创建的模块,可以设置更多环境变量。例如,一个gcc模块可能会设置CC环境变量。Python 还可以PYTHONPATH在 Python 中查找模块和包的位置。

MANPATH环境变量用于查找man页面,而用于INFOPATH查找 Info 手册。

您需要设置的变量完全取决于您实际想要使用的内容。PATH例如,仅更新而从不正确更新就足够了MANPATH


推荐阅读