我使用要求Requirements = (HAS_NUMPY =?= TRUE)
在Condor上运行我的python脚本。
这适用于普通的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,因此问题。
所以,现在这是一个Condor问题:有没有办法指定Condor提交文件中所需的numpy版本;比Requirements = (HAS_NUMPY =?= TRUE)
更好的东西?
谢谢
答案 0 :(得分:0)
您最好检查计算机上的numpy
版本:
In [50]: np.version.version
Out[50]: '1.8.1'
因为文档说,np.linalg.slogdet
函数是“versionadded :: 1.6.0。”