PyDAQmx.Task() возвращает RecursionError
Простой код:
from PyDAQmx import Task
task = Task()
поднимает:
<...>
File "C:\Users\Adrian\Anaconda3\lib\site-packages\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction
DAQmxGetExtendedErrorInfo(errBuff,2048)
ctypes.ArgumentError: argument 1: <class 'RecursionError'>: maximum recursion depth exceeded while calling a Python object
Ошибка в функции:
def catch_error_default(f):
def mafunction(*arg):
error = f(*arg)
if error<0:
errBuff = create_string_buffer(2048)
DAQmxGetExtendedErrorInfo(errBuff,2048) # <<<--- error here <<<---
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
elif error>0:
errBuff = create_string_buffer(2048)
DAQmxGetErrorString (error, errBuff, 2048);
# print "WARNING :",error, " ", errBuff.value.decode("utf-8")
raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
return error
return mafunction
Понятия не имею почему.
Это было после того, как я попытался установить "instrumental-lib" и "NiceLib" ( http://instrumental-lib.readthedocs.io/en/latest/ni-daqs.html), но переустановка драйверов Anaconda, PyDAQmx и NIDAQmx не эффект.
1 ответ
Решение
Сначала вам нужно очистить базу данных NI MAX: откройте NI MAX -> Инструменты -> Сбросить данные конфигурации
Затем удалите (а не восстановите) все программное обеспечение NI.
А затем снова установите NI DAQmx.
Я также переустанавливаю Anaconda, но я думаю, тебе не следует это делать.