linux - 如何为 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-path
和setenv
下面是命令的结果,whereis python
我们可以从中提取变量吗:prepend-path
setenv
[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
解决方案
该PATH
变量是用于搜索二进制文件的环境变量。您安装了两个不同版本的 Python,因此每个版本都应该有一个不同的目录,其中包含 python 可执行文件(bin
并且可能还有extra/bin
)。
LD_LIBRARY_PATH
用于列出包含库的目录。可能lib
和extra/lib
等。
根据您尝试创建的模块,可以设置更多环境变量。例如,一个gcc
模块可能会设置CC
环境变量。Python 还可以PYTHONPATH
在 Python 中查找模块和包的位置。
MANPATH
环境变量用于查找man
页面,而用于INFOPATH
查找 Info 手册。
您需要设置的变量完全取决于您实际想要使用的内容。PATH
例如,仅更新而从不正确更新就足够了MANPATH
。
推荐阅读
- templates - 如何在jsf bootsrap中从xhtml页面插入一个单词到模板页面
- c# - 我可以在 C# 桌面应用程序中创建实时推送通知吗?
- python - 使用 zfill 根据数据框列中的字符串填充数字列
- c - 如何确定发送给函数的参数数量?
- javascript - 如何删除作为数组元素的地图中的 Firestore 字段?
- python - 在 Pandas 中构建和旋转损坏的数据框
- java - File.separator 和“/”在可运行 jar 中的工作方式不同
- java - Spring 安全和 REST API 登录
- python - 合并当前行索引 +-1 的行
- alamofire - 如何使用 Alamofire 创建多个隔离 cookie 的会话