2017-07-20 20 views
0

HPCクラスタでPythonスクリプトを実行する必要があります。残念ながら、デフォルトのPythonバージョンは2.6.6で、numpyとscipyはありません。linux bashスクリプトのmodule loadコマンド

私はそれが私に

を警告し、この

module load /home/hw1u16/modules/2.7.3 
module load /home/hw1u16/modules/1.6.2 
python /home/hw1u16/project/trainAgent.py 

のようなbashスクリプトを書くとき、私は、

#module load /home/hw1u16/modules/2.7.3 

module load /home/hw1u16/modules/1.6.2 

ただし、コマンドラインでこれらのモジュールをロードすることができ

ModuleCmd_Load.c(200):ERROR:105: Unable to locate a modulefile for '/home/hw1u16/modules' ModuleCmd_Load.c(200):ERROR:105: Unable to locate a modulefile for '/home/hw1u16/modules' 何が間違っているのか分かりませんが、どなたでも助けてくれますか?

+0

から、この作品なら、私に知らせてください:) –

+0

'/モジュール/'に'module load/home/hw1u16/modules/1.6.2'はちょっと見えません。あなたはそれが 'module load/home/hw1u16/python-2.6'かそうでないと確信していますか? – inspectorG4dget

+0

実際には、 "module avail"コマンドに示されているパスからオリジナルファイルのファイルをコピーします。私はシェルターミナルで "module load python/2.7.3"のように実行できます。しかし、それはまだbashスクリプトでは役に立たない。多分私は特別な設定が必要でしょうか? – skwang

答えて

0

さて、私は問題がどこにあるのか知っていると思います。シェルからtype moduleを試してください。moduleが現在システムにどのように定義されているかを確認してください。 2つのオプションが表示されます:エイリアスまたは機能のいずれかです。これは、moduleコマンドがaliasまたはshell functionであるためです。

は、スクリプトがあると言うrunning.sh

#!/bin/bash 
module load python/2.7.3 
python /home/hw1u16/project/trainAgent.py 

は、この問題を整理するには(シェバングを追加することをお勧めします)あなたは2つのオプションがあります。

  • をオプション1:

sourceはscitptです。言い換えれば、:source running.sh。これは、対話シェルに直接moduleコマンドを入力するのとまったく同じです。ただし、./running.shを実行すると、新しい非対話型シェルが実行されます。これらは、通常、標準のエイリアスとシェル関数が設定されていません。

  • オプション2:

moduleコマンドを定義する初期化スクリプトを見つけ、sourceそのスクリプト

+0

私は 'source'コマンドを試しましたが、' module avail'はbashスクリプトで使うことができますが、 'module load gcc/4.6.2'や' module load python/2.7.3'と書くと思われます。 '' ython(9):ERROR:105: 'python/2.7.3'のモジュールファイルを見つけることができません。' ' – skwang

+0

@skwangこれは前に報告したのと同じエラーです。私が答えに書いたように、スクリプトを書いた後、_do_ 'source running.sh'、そして'。/ running.sh'を同じ端末に入れてください –

関連する問題