将cython
模块正确导入某些文件时遇到了很多麻烦。我有两个正在使用的模块,分别称为my_module.pyx
和my_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 found
和extern.pyx
都位于该目录中,也会出现错误extern.pxd
。如果有人知道如何从cdef
模块导入cython
类,那将非常有帮助,如果不清楚,我可以澄清任何问题。