cython纯python,带有类型提示

时间:2020-03-28 17:16:47

标签: python cython

我已经为biopython开发了代码,我希望通过添加.pxd文件并使用cython进行编译来加快自己的应用程序的速度。一路上,我添加了类型提示,因为我认为这会有所改善(实际上,我希望cython会自动使用它们,但事实并非如此)。 现在,我发现类型提示代码与我想要的cython增强功能不兼容。 例如,以cython numpy tutorial中的convolve_py.py示例为例:

def naive_convolve(f, g):

更改为:

def naive_convolve(f: np.ndarray, g: np.ndarray) -> np.ndarray:

然后我放

cpdef np.ndarray[np.int_t, ndim=2] naive_convolve(np.ndarray[np.int_t, ndim=2] f, np.ndarray[np.int_t, ndim=2] g)

在相应的.pxd文件中(它适用于上面非类型提示的情况):

def naive_convolve(f: np.ndarray, g: np.ndarray) -> np.ndarray:
              ^
------------------------------------------------------------

convolve_py.py:4:19: Compiler crash in AnalyseDeclarationsTransform

在我自己的代码中,简单类型的结果相同。我的理解是cython应该处理3.x功能,而文档中提到了类型提示,我是否还缺少其他方法或选项?我的编译行是:

cythonize -3 -i convolve_py.py convolve_py.pxd

0 个答案:

没有答案