使用Sphinx进行Autodoc Cython / NumPy

时间:2018-02-22 19:25:32

标签: python-2.7 numpy cython python-sphinx autodoc

使用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):...函数的声明是错误的?

0 个答案:

没有答案