背景

背景

背景

科学的計算を実行するためにサーバーにログインします。 「Scientific Linuxバージョン7.4」を実行します。

他のソフトウェアにアクセスするには、「module load x」などのコマンドを実行する必要があります。たとえば、Pythonを使用するには、「module load python」と書く必要があります。私はこのモジュールシステムについてよくわかりませんが、私が知っている限り、それはいくつかの環境変数を変更するだけです。表示するには、「module show 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を実行できません。しかし、最近これが変更されたことがわかり、Pythonモジュールをロードせずにcondaを実行できるようになりました。これにより、混乱して実行中の実行可能ファイルを見つけることができるかどうかを確認するために「何らかのconda」と入力しましたが、それを行ったときに私のPATH変数のすべてのディレクトリに「condaが見つかりません」というメッセージが表示されました。

それでもcondaを実行できますが、「どの」がconda実行可能ファイルを見つけることができないのですか?

答え1

""というエイリアスまたはシェル関数がある可能性がありますconda。タイプ

type conda

何を見てそれ説明する。

答え2

私はこのモジュールシステムについてよくわかりませんが、私が知っている限り、それはいくつかの環境変数を変更するだけです。

これは危険信号です。 Posix オペレーティングシステムでは、どの実行ファイルでも、自分と実行ファイルが起動する以外は環境を変更できません。

したがって、モジュールシステムできない実行可能ファイルを使用して実装し、which実行可能ファイルのみを検索します。

代わりに、コマンドはシェルの一部のサブシステム(シェル関数またはエイリアス)でなければなりません。

試してtype condaみるかtype module、シェルがそれが何であるかを教えてください。

関連情報