2015-01-13 1 views
-1

Я запускаю свой скрипт python на Condor, используя требование Requirements = (HAS_NUMPY =?= TRUE). Это работает для нормальных функций Numpy, но когда я использую numpy.linalg.slogdet функции я получаю сообщение об ошибке:Какая версия python мне нужна для использования 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' 

Хотя его трудно для меня, чтобы узнать, какая версия питона существует на этом узле, версия на главной кондора машины 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?

Обновление: предложение

Подержанные mgilson и обнаружили, что NumPy версия 1.4.1, поэтому проблема. Итак, теперь это вопрос Кондора: есть ли способ указать версию numpy, требуемую в файле отправки Condor; что-то лучше, чем Requirements = (HAS_NUMPY =?= TRUE)? Благодаря

+1

Похоже, что [numpy.linalg.slogdet] (http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.slogdet.html) было введено в numpy 1.6. Чтобы проверить свою версию numpy, вы можете напечатать 'numpy .__ version__'. – mgilson

ответ

0

Вы бы лучше проверить версию numpy на вашей машине:

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

поскольку документы говорит, np.linalg.slogdet функция "versionadded :: 1.6.0."

+0

Спасибо, использовал его и нашел версию 1.4.1. Это была проблема. – vmos