cimport包含扩展类的外部cython定义文件

时间:2019-06-25 18:59:52

标签: python c inheritance import cython

cython模块正确导入某些文件时遇到了很多麻烦。我有两个正在使用的模块,分别称为my_module.pyxmy_module.pxd。在这些模块中,我有class_B,它们必须继承自class_A,后者包含在外部模块extern.pyx和extern.pxd`中。

我的my_module.pyx文件如下:

cimport cython
from directory.sub.subdir.extern cimport class_A

cdef class class_B(class_A):
    *class method implementations here*

我的my_module.pxd文件是这样的:

from directory.sub.subdir.extern cimport class_A

cdef class class_B(class_A):
    *class method declarations here*

我有一个setup.py文件,其中包含cythonizes个这些模块,但是当我调用它时,我在cdef class class_A行中遇到几个错误,说Module name required for 'extern' C class。当我尝试简单地cimport class_A时,即使知道directory.sub.subdir.extern.pxd could not be foundextern.pyx都位于该目录中,也会出现错误extern.pxd。如果有人知道如何从cdef模块导入cython类,那将非常有帮助,如果不清楚,我可以澄清任何问题。

0 个答案:

没有答案