Numba TypeError: 'output_dir' должен быть строкой или None
Я пытаюсь понять, как использовать функцию "Компилировать код раньше времени" в Numba (версия 0.28.1+0.gfe99fbc.dirty на Python 2.7.12 | Кастом Anaconda (64-разрядная версия)). Я пытаюсь запустить пример кода из документации:
from numba.pycc import CC
import numpy as np
cc = CC('my_module')
# Uncomment the following line to print out the compilation steps
#cc.verbose = True
@cc.export('centdiff_1d', 'f8[:](f8[:], f8)')
def centdiff_1d(u, dx):
D = np.empty_like(u)
D[0] = 0
D[-1] = 0
for i in range(1, len(D) - 1):
D[i] = (u[i+1] - 2 * u[i] + u[i-1]) / dx**2
return D
if __name__ == "__main__":
cc.compile()
Но это дает сообщение об ошибке, оканчивающееся на:
/projects/py/numba$ python derivatives.py
In file included from /home/ohm/anaconda2/lib/python2.7/site-packages/numba/pycc/modulemixin.c:16:0:
/home/ohm/anaconda2/lib/python2.7/site-packages/numba/pycc/../_helperlib.c: In function ‘import_cython_function’:
/home/ohm/anaconda2/lib/python2.7/site-packages/numba/pycc/../_helperlib.c:555:42: warning: passing argument 2 of ‘PyMapping_GetItemString’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
cobj = PyMapping_GetItemString(capi, function_name);
^
In file included from /home/ohm/anaconda2/include/python2.7/Python.h:133:0,
from /home/ohm/anaconda2/lib/python2.7/site-packages/numba/pycc/../_pymodule.h:6,
from /home/ohm/anaconda2/lib/python2.7/site-packages/numba/pycc/modulemixin.c:8:
/home/ohm/anaconda2/include/python2.7/abstract.h:1356:29: note: expected ‘char *’ but argument is of type ‘const char *’
PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, char *key);
Что тут происходит?