我正在尝试在 CentOS 6 集群上创建 python-2.7.10 模块。我的简单python-2.7.10
模块文件是:
#%Module1.0
prepend-path PATH /gpfs0/export/opt/anaconda-2.3.0/bin
prepend-path MANPATH /gpfs0/export/opt/anaconda-2.3.0/share
prepend-path LD_LIBRARY_PATH /gpfs0/export/opt/anaconda-2.3.0/lib
set-alias python /gpfs0/export/opt/anaconda-2.3.0/bin/python
set-alias python2.7 /gpfs0/export/opt/anaconda-2.3.0/bin/python
当我加载模块时,例如
module load python-2.7.10
python2.7 运行良好。但是,如果我尝试module list
或module avail
或module unload python-2.7.10
我得到了错误
init.c(556):ERROR:161: Cannot initialize TCL
但是,如果我尝试我的octave-4.0.0
模块:
#%Module1.0
prepend-path PATH /gpfs0/export/opt/octave-4.0.0/bin
prepend-path MANPATH /gpfs0/export/opt/octave-4.0.0/share
prepend-path LD_LIBRARY_PATH /gpfs0/export/opt/octave-4.0.0/lib
set-alias octave /gpfs0/export/opt/octave-4.0.0/bin/octave-4.0.0
set-alias octave-gui /gpfs0/export/opt/octave-4.0.0/bin/octave-4.0.0
set-alias octave-cli /gpfs0/export/opt/octave-4.0.0/bin/octave-cli-4.0.0
我可以module list
,module avail
而且module unload octave-4.0.0
很好。显然,我的python-2.7.10
模块出了问题。我该如何修复?
答案1
答案2
我遇到了同样的问题,使用下面链接中的建议,我能够在不取消设置 LD_LIBRARY_PATH 的情况下解决问题。基本上,您禁用 modulecmd 使用 LD_LIBRARY_PATH 执行的能力;但是,此更改不会阻止 modulecmd 修改 LD_LIBRARY_PATH 变量。使用的命令是:chown nobody:nobody modulecmd chmod ug+s modulecmd