入門
私はクラスタ上でpythonスクリプトを実行しています。私はvirtualenvですべてを実行し、コードでは同じモジュール(SC_module.pyで書かれている)から2つの関数をインポートしています:同じモジュールから2つの関数をインポートすると、2つの関数のインポートがどのように機能しますか?
ex。 SC_module.py
私は次のインポートfrom SC_module import funA,funB
私はHPC上でコードを実行したとき、私はfunBが見つからないインポートエラーを取得していたスクリプトscript.pyで
def funA():
def funB():
。入力した場合
from SC_module import funA
すべて正常です。 私はコマンドラインからpython3
を実行し、
from SC_module import funA,funB
すべての作品と楽しい(B)を実行する場合はインポートされます。
質問
フナ()とfunB(唯一の違い)は、2つの異なる日で符号化されていることです。
NB:新しい機能をモジュールに追加すると、プロセスの開始時にロードされませんが、端末を使用する場合はインポートされます。 クラスタ内のモジュールのロードに間違いがありますか?
おかげ
クラスタは長時間実行されていますか?もしそうなら、モジュールを再インポートする必要があります。これは一種の痛みです。 –
"funA()とfunB()の唯一の違いは、2つの異なる日にコード化されていることです。" < - それはあなたの答えのように聞こえる。サーバー上の 'SC_module'のバージョンには' funB'はありませんが、あなたのローカルコピーはそうです。 –
@ Two-BitAlchemistエラーは、コードを完全に削除し、新しいバージョンをインストールして(楽しい)、すべてのプロセスを再起動したときにも発生します。 – s1mc0d3