我登录到服务器进行科学计算。它运行的是“科学Linux 7.4版”。
为了访问不同的软件,我必须运行像‘模块加载x’这样的命令。例如,要使用python,我需要编写‘模块加载python’。我对这个模块系统不太了解,但据我所知,它只是修改了一些环境变量。输入“模块显示python”显示
module-whatis This module sets up PYTHON 3.6 in your environment.
conflict python
append-path MODULEPATH /global/software/sl-7.x86_64/modfiles/python/3.6
setenv PYTHON_DIR /global/software/sl-7.x86_64/modules/langs/python/3.6
prepend-path PATH /global/software/sl-7.x86_64/modules/langs/python/3.6/bin
prepend-path CPATH /global/software/sl-7.x86_64/modules/langs/python/3.6/include
prepend-path FPATH /global/software/sl-7.x86_64/modules/langs/python/3.6/include
prepend-path INCLUDE /global/software/sl-7.x86_64/modules/langs/python/3.6/include
prepend-path LIBRARY_PATH /global/software/sl-7.x86_64/modules/langs/python/3.6/lib
prepend-path PKG_CONFIG_PATH /global/software/sl-7.x86_64/modules/langs/python/3.6/lib/pkgconfig
prepend-path MANPATH /global/software/sl-7.x86_64/modules/langs/python/3.6/share/man当我加载python时,我还可以访问conda (其可执行文件可以在/global/software/sl-7.x86_64/modules/langs/python/3.6/bin).中找到)。
通常,如果不首先加载python模块,我就无法运行conda。但是最近我注意到这种情况发生了变化,现在我可以运行conda而无需加载python模块。这让我感到困惑,所以我输入了“哪个conda”来查看是否能够找到正在运行的可执行文件,但是当我这样做时,我会说在我的PATH变量的任何目录中都找不到conda。
尽管我仍然可以运行conda,但它怎么可能找不到conda的可执行文件呢?
发布于 2020-02-10 06:48:02
您可能有一个别名或一个名为“conda”. 类型的shell函数
type conda看看上面写了什么。
发布于 2020-02-10 19:32:41
我对这个模块系统不太了解,但据我所知,它只是修改了一些环境变量。
这是一个危险的信号:在Posix操作系统中,任何可执行文件都不能改变除了它本身和它自己启动的可执行文件的环境。
因此,您的模块系统无法使用可执行文件实现,而且which只查找可执行文件。
相反,命令必须是shell的某个子系统:shell函数或别名。
尝试type conda和/或type module,让shell告诉您它们是什么。
https://unix.stackexchange.com/questions/566686
复制相似问题