Cython: ValueError: '...'. Свеча имеет неправильный размер, попробуйте перекомпилировать.Ожидаемый 16, получил 24 - PullRequest
0 голосов
/ 01 июня 2018

У меня есть 3 файла Cython:

Файл 1 - candle.pxd:

cdef class Candle:
    cdef:
        int ts

Файл 2 - candle.pyx:

cdef class Candle:
    def __init__(self, int ts):
        self.ts = ts

Файл 3 -feeder.pyx:

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'

1 Ответ

0 голосов
/ 01 июня 2018

Я смог решить ее, выполнив что-то, что, на мой взгляд, было неправильным, поскольку это могло привести к сбою моего кода.

Я изменил файл 2 candle.pyx на:

cdef class Candle:
    cdef:
        int ts

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