Cython:ValueError:' ...' .Candle的大小错误,请尝试重新编译。预计16,得到24

时间:2018-06-01 16:50:36

标签: python compilation cython

我有3个cython文件:

文件1 - cdef class Candle: cdef: int ts

candle.pyx

文件2 - cdef class Candle: def __init__(self, int ts): self.ts = ts

feeder.pyx

文件3 - from src.cython.candle cimport Candle cdef class Feeder: cdef instantiate_first_candle(self): cdef int a = 1 # Instantiates Candle cdef Candle candle = Candle(a)

from src.cython.feeder import Feeder
File "src/cython/candle.pxd", line 3, in init feeder
ValueError: src.cython.candle.Candle has the wrong size, try recompiling. Expected 16, got 24

它抛出的确切错误是:

Candle

我对于发生了什么以及如何解决这个问题一无所知。我没有成功地尝试了很多不同的事情。

更新

我能够在IPython上导入AttributeError: 'candle.Candle' object has no attribute 'ts',当我尝试实例化一个对象时,我收到了这个错误:

varbinary

1 个答案:

答案 0 :(得分:0)

我能够解决它做一些我认为不合适的事情,因为它会导致代码崩溃。

我将文件2 candle.pyx更改为:

cdef class Candle:
    cdef:
        int ts

    def __init__(self, int ts):
        self.ts = ts