0

qsub myScript.sh -cwdシェル スクリプトが Python-2.7 スクリプトを実行する経由でジョブを送信しようとしていmyPython.pyます。

    # myScript.sh
    python2.7 myPython.py

ここmyPython.pyで、ローカル ディレクトリに保存されている Python パッケージをインポートする必要があるため、スクリプトは

    # myPython.py
    import sys
    sys.path.append('/file/path/for/package')
    import package

ジョブを送信すると、ログ ファイルには Python からの次の出力が含まれます。

    ImportError: No module named problem_c

このエラーは、いくつかのモジュールが*.pyエラーを返さずにファイルからインポートされた後に発生するため、パスの問題ではないと確信しています。私が見つけた唯一の違いは、problem_cファイルが.pyf(つまりproblem_c.pyf)で終わることです。で終わるモジュールと同じディレクトリに保存されます.py

スクリプトをローカルで実行するpython2.7 myPython.pyと、パッケージのロード時にこのエラーは発生しません。ただし、ジョブはメモリを集中的に使用するため、キューに送信しないと完了できません。を使用すると、ファイルとして記述されたモジュールの.pyf扱いが異なるのはなぜqsubですか? この場合、モジュールをインポートするにはどうすればよいですか?

(問題があれば、私が取り組んでいるクラスターは Sun Grid Engine でセットアップされています。)

ご意見ありがとうございます。

4

2 に答える 2

0

またはf2py。クラスターにモジュールを追加していないことは明らかです。

于 2013-11-21T21:52:29.403 に答える