我正在使用要求在 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,但主 condor 机器上的版本是 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)
?谢谢