Я пытаюсь понять, как создавать импортируемые классы расширения 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
cimport test
Я получаю эту ошибку:
----> 1 cdef class myclass():
2 cdef int a
3 cdef int b
AttributeError: 'module' object has no attribute 'myclass'
Я уверен, что это очень просто, но я не могу понять, что я делаю неправильно.