Как исправить ошибку типа в python с пакетом numba - PullRequest
0 голосов
/ 26 апреля 2020

Я хотел оптимизировать свой код с помощью numba. Я получаю эту ошибку:

Traceback (most recent call last):
  File "F:\Script Projects#\HASHFinder.py", line 120, in <module>
    startup()
  File "F:\Script Projects#\HASHFinder.py", line 114, in startup
    testG(l)
  File "D:\Python\lib\site-packages\numba\core\dispatcher.py", line 401, in _compile_for_args
    error_rewrite(e, 'typing')
  File "D:\Python\lib\site-packages\numba\core\dispatcher.py", line 344, in error_rewrite
    reraise(type(e), e, None)
  File "D:\Python\lib\site-packages\numba\core\utils.py", line 79, in reraise
    raise value.with_traceback(tb)
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
[1mUntyped global name 'returnHashList':[0m [1m[1mcannot determine Numba type of <class 'function'>[0m
[1m
File "HASHFinder.py", line 64:[0m
[1mdef testG(inpArray):
    <source elided>
            hashes = List()
[1m            hashes = returnHashList(tryString)
[0m            [1m^[0m[0m
[0m

Функция returnHashList выглядит следующим образом:

def returnHashList(searchSt) -> List:
    #It has to be a List since I want to add more hash algorithms later on
    arr = List()
    arr.append(" ")
    arr.appendstr((hash(searchString)))
    return arr

В функции, где возникает ошибка, у меня есть только это:

hashes = List()
            hashes = returnHashList(tryString)
            for has in hashes:
                testValues.append(has)

Любые советы будут очень признательны! Заранее спасибо

...