cython包装器中的AttributeError用于python错误

时间:2019-05-21 11:20:31

标签: python cython

我在cython中为python创建了一个C ++包装器。

C ++类的方法名称为makeBooleanValue,但是在python中,我希望等效的方法为make_boolean_value。

但是我得到了错误:

  

回溯(最近通话最近):     在第7行的文件“ saxon_example.py”中       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 :(得分:0)

当我运行python脚本时,似乎没有拾取pyx文件中的更改。但是当我从命令行运行python时,它已经被拾取