使用Sphinx(1.7)记录我的Cython(python 2.7)模块时遇到了一些麻烦。
我将Cython指令embedsignature
设置为True,我还在conf.py文件中模拟numpy
。但是,如果我运行sphinx-build -b html source build
,我会收到以下TypeError:
WARNING: autodoc: failed to import module u'isolver'; the following exception was raised:
Traceback (most recent call last):
File "C:\Users\xxx\Anaconda2\lib\site-packages\sphinx\ext\autodoc\importer.py", line 140, in import_module
__import__(modname)
File "c:\users\xxx\dropbox\github\isolver\isolver\__init__.py", line 1, in <module>
import core
File "c:\users\xxx\dropbox\github\isolver\isolver\core\__init__.py", line 1, in <module>
import c_trf
File "__init__.pxd", line 155, in init isolver.core.c_trf
TypeError: numpy.dtype is not a type object
奇怪的是我没有* .pxd文件,c_trf.pyx
文件中的第155行是空的。
这个错误的秘密可能在于我如何声明numpy数据类型?
cimport numpy as np
import numpy as np
DTYPE_int = np.int64
ctypedef np.int64_t DTYPE_int_t
DTYPE_float = np.float64
ctypedef np.float64_t DTYPE_float_t
或许某些cdef np.ndarray fun(x):...
函数的声明是错误的?