我试图了解如何构建可导入的cython扩展类。据我了解,您必须像这样创建一个.pxd
文件:
test.pxd
cdef class myclass():
cdef int a
cdef int b
一个.pyx
文件,如下所示:
test.pyx
cdef class myclass():
def __cinit__(self):
self.a = 3
self.b = 4
设置文件:
setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("test.pyx")
)
然后用
$ python setup.py build_ext --inplace
但是当我尝试导入
cimport test
我收到此错误:
----> 1 cdef class myclass():
2 cdef int a
3 cdef int b
AttributeError: 'module' object has no attribute 'myclass'
我敢肯定这很简单,但是我似乎找不到我做错了什么。