問題タブ [environment-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - シェルまたは Perl スクリプトで「モジュール ロード」を発行する方法 (つまり、非対話型)
「module load xyz」コマンドをインタラクティブに使用できますが、スクリプトから実行すると、「module」コマンドが見つからないと表示されます。スクリプトにモジュールをロードする方法はありますか?
linux - モジュール: コマンドが見つかりません
Linux でライブラリを構築するためにいくつかのモジュールをロードしようとしていますが、コマンド 'module' が存在しないと言われました。私はグーグルで検索しましたが、解決策は「モジュール」と呼ばれるディレクトリをソースにすることであることがわかりました。これは、広範な検索にもかかわらず見つけることができません。
何をすべきかよくわかりませんが、助けていただければ幸いです(デフォルトのシェルがbashであるのに対し、使用しているmakefileがcshを使用していることを知っておくと役立つ場合があります)。ありがとう!
python - Pythonスクリプト内での環境モジュールのロード
Pythonスクリプトが環境モジュールをロードして使用する方法はありますか?os.system('module load xxx')
サブシェルで実行されるため、機能しません(少なくとも、それが起こっていると思います)。
linux - modulefile - モジュールのアンロードは環境変数の設定を解除していません
私は非常に単純なモジュールファイルを持っています:
そして、ここに私のコマンドラインがあります:
modulefileのマニュアル ページによると、unload module コマンドはすべての setenv を unsetenv に変更するはずでしたが、機能していないようです。ここで私が間違っているかもしれないことを誰かが知っていますか?
詳しくは:
モジュールファイルに慣れていない人向け (あまり人気がないようです):
- modulefile は、PATH、MANPATH、またはその他の環境変数にエントリを設定または追加する単純なコードです。
- モジュールファイルは、さまざまなタイプのシェルの概念を隠します
- modulefiles はツール コマンド言語 Tcl で記述され、モジュール ユーザー インターフェイスを介して modulecmd プログラムによって解釈されます。
python - Pythonサブプロセスモジュールからモジュールシェルコマンドを開始する
vnc サーバーを実行しようとしていますが、最初に「module load vnc」を実行する必要があります。
ロードされたbashシェルで呼び出すとwhich module
、見つからないコマンドはPATHですが、同時に使用できます。コマンドが組み込まれているようです。
つまり、一度に 2 つのコマンドを実行する必要がありmodule load vnc;vncserver :8080 -localhost
、Python から起動するスクリプトを書いているようです。私はさまざまなバリアントを試してみましsubprocess.Popen
た
127
終了コードまたはを返しますcommand not found
。
見せている
を指定するshell=True
と、から実行されますが、から/bin/sh
が必要/bin/bash
です。
新しいbashシェルをロードするため、指定executable='/bin/bash'
しても役に立ちませんが、プロセスとしてではなく文字列として開始されます。つまり、ps
開始したいコマンドとまったく同じコマンドがリストに表示されます。
サブプロセスモジュールからこのコマンドを開始する方法を教えてください。で始めることは可能shell=False
ですか?
tcl - モジュール情報モード スイッチ ステートメントとは何ですか?
パッケージ環境モジュールは、コマンドを定義しmodule-info mode
ます。 modulefile の man ページには、可能なモードが次のようにリストされています。
複数の switch ステートメントとは何ですか?
environment-variables - モジュールをモジュールファイルにロードするときに環境が変更されない
モジュールを modulefile にロードしたいと思います (依存関係を解決するため)。
マイモジュール:
MyOtherModule:
実行するmodule load MyModule
と、両方のモジュールがロードされているように見えますが、環境が正しくありません:
行を追加するforeach p [array names env] { set tmp $env($p) }
か、少なくとも行set tmp $env(PATH)
の後に MyModuleを追加するmodule load MyOtherModule
と、環境が正しく変更されます。関数を使用しない場合でも問題なく動作しますaddPath
が、コマンドを直接使用します。もちろん、関数でprepend-path
もっと多くのことをしたいので、これは少し面倒です。addPath
何が起こっているのか、何が欠けているのかについてのアイデアとして誰ですか?
python-2.7 - 環境モジュールの読み込み中の Python スクリプト
上記のソリューションは、python インタラクティブ シェルと実行可能な python ファイル内で動作が異なります。インポート ステートメントが環境変数 PYTHONPATH を認識していないように見える exe.py 設定で動作させる方法を理解するのに助けが必要です。
Python シェルでは、このソリューションにより、PYTHONPATH を変更する環境モジュールをロードできます。その後、その修正された PYTHONPATH から python モジュールをインポートできます。これは優れた機能であり、実行可能な python スクリプトで実行したいこととまったく同じです。
Python スクリプト (先頭は #!/usr/bin/env python など) では、PYTHONPATH の修正まで問題なく動作します。
しかし、それは python.exe で動作する限りです
Python シェルで正常に動作する my_module からインポートしようとすると、トレースバック レポート 'ImportError: No Module named module_1' が発生します。
このことから、python exeでこれを実行すると、pythonは修正されたPYTHONPATHを使用していない、または「見ていない」と結論付けることができると思います(ただし、インタラクティブなpythonシェルでは表示されます)。
それは私が立ち往生するところです!何か案は?大変助かります。私が見落としていた本当に簡単な解決策があるに違いありません。それについて聞いて喜んでいます。
ありがとう & 良い一日を
マット
編集:さらに読むと、python自体がPYTHONPATHのコンテンツをsys.pathに追加することが示唆されていますが、これはインタラクティブなpythonシェルでもpython.exeを実行しても発生しません。
sys.path.insert(1,os.environ['PYTHONPATH']) を使用してexeで手動でこれを行うと、必要な機能が得られます
environment-modules - 「モジュール」コマンドはどこにありますか?
ばかげた質問で申し訳ありませんが、モジュール環境の「モジュール」コマンドがどこにあるのかわかりません。「どのモジュール」、「whereis モジュール」、または「エイリアス モジュール」でも何も得られません。
これは私にとって非常に不可解です、誰か助けてもらえますか?