首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“其中”即使运行,也找不到可执行文件的位置。

“其中”即使运行,也找不到可执行文件的位置。
EN

Unix & Linux用户
提问于 2020-02-10 00:27:01
回答 2查看 1.6K关注 0票数 6

背景

我登录到服务器进行科学计算。它运行的是“科学Linux 7.4版”。

为了访问不同的软件,我必须运行像‘模块加载x’这样的命令。例如,要使用python,我需要编写‘模块加载python’。我对这个模块系统不太了解,但据我所知,它只是修改了一些环境变量。输入“模块显示python”显示

代码语言:javascript
复制
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的可执行文件呢?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-02-10 06:48:02

您可能有一个别名或一个名为“conda”. 类型的shell函数

代码语言:javascript
复制
type conda

看看上面写了什么。

票数 16
EN

Unix & Linux用户

发布于 2020-02-10 19:32:41

我对这个模块系统不太了解,但据我所知,它只是修改了一些环境变量。

这是一个危险的信号:在Posix操作系统中,任何可执行文件都不能改变除了它本身和它自己启动的可执行文件的环境。

因此,您的模块系统无法使用可执行文件实现,而且which只查找可执行文件。

相反,命令必须是shell的某个子系统:shell函数或别名。

尝试type conda和/或type module,让shell告诉您它们是什么。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/566686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档