【问题标题】:AttributeError in cython wrapper for python errorpython错误的cython包装器中的AttributeError
【发布时间】:2019-10-07 18:45:39
【问题描述】:

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

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))

我得到 makeBooleanValue

请问有什么我想念的吗?

【问题讨论】:

    标签: python cython


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      相关资源
      最近更新 更多