AttributeError в оболочке Cython для ошибки Python - PullRequest
1 голос
/ 21 мая 2019

Я создал оболочку C ++ в cython для python.

Класс C ++ имеет имя метода makeBooleanValue, но в python я хочу, чтобы эквивалентный метод был make_boolean_value.

Но я получаю ошибку:

Traceback (последний вызов был последним): Файл "saxon_example.py", строка 7, в xdmAtomicval = proc.make_boolean_value (False) AttributeError: у объекта 'saxonc.PySaxonProcessor' нет атрибута 'make_boolean_value'

Похоже, я не могу использовать другое соглашение об именах в Cython.

В файле pxd у меня есть следующее:

XdmAtomicValue * makeBooleanValue (bool b)

В файле pyx у меня есть следующее:

def make_boolean_value(self, b):
    cdef bool c_b = b
    cdef PyXdmAtomicValue val = PyXdmAtomicValue()
    val.derivedaptr = val.derivedptr = val.thisvptr = self.thisptr.makeBooleanValue(c_b)
    return val

Но в моем примере скрипта на python:

print(dir(library))

Я получаю make makeBooleanValue

Есть идеи, что мне не хватает, пожалуйста?

1 Ответ

0 голосов
/ 21 мая 2019

Похоже, что изменения в файле pyx не обнаруживаются, когда я запускаю скрипт на python.Но это происходит, когда я запускаю python из командной строки

...