-1

要件を使用して、Condor で Python スクリプトを実行していますRequirements = (HAS_NUMPY =?= TRUE)。これは通常のnumpy関数で機能しますが、numpy.linalg.slogdet関数を使用するとエラーが発生します:

Traceback (most recent call last):
  File "/var/lib/condor/execute/dir_17583/condor_exec.exe", line 11, in <module>
    ans=np.linalg.slogdet(a)[1]
AttributeError: 'module' object has no attribute 'slogdet'

そのノードに存在する Python のバージョンを知るのは難しいですが、メインのコンドル マシンのバージョンは 2.6.6 です。

コードは非常に単純です。

import numpy as np
a=np.diag(np.arange(1,9))

ans=np.linalg.slogdet(a)[1]

私の質問は次のとおりです:
np.linalg.slogdet がより高いバージョンの python を必要とするため、このエラーが発生していますか?
もしそうなら、Condor で必要な python バージョンを指定する方法はありますか?

アップデート:

mgilson の提案を使用して、numpy のバージョンが 1.4.1 であることを確認したため、問題が発生しました。それでは、これはコンドルの質問です。コンドルの送信ファイルで必要な numpy のバージョンを指定する方法はありますか? より良い何かRequirements = (HAS_NUMPY =?= TRUE)?ありがとう

4

1 に答える 1

0

numpyマシンのバージョンを確認することをお勧めします。

In [50]: np.version.version
Out[50]: '1.8.1'

ドキュメントによると、np.linalg.slogdet関数は「versionadded:: 1.6.0.」です。

于 2015-01-13T03:06:25.973 に答える