背景
科学的計算を実行するためにサーバーにログインします。 「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
、シェルがそれが何であるかを教えてください。