我有一个cython模块保存为foo.pyx
,如下所示:
cdef double sum(double[:] memview):
cdef total = 0
for i in range(len(memview):
total += memview[i]
return total
然后我用!cython -a foo.pyx
编译它。在
我想用cython
细胞魔法测试这个函数,如下所示:
但当我尝试get_sum()
时,我得到:
AttributeError: 'module' object has no attribute 'sum'
我做错什么了?在
要使其工作,您需要cimtort cython模块。 这将需要一个对应的pxd,其中包含您希望从模块导出的函数签名。 有关完整的工作示例,请参见documentation的相关部分。在
这假设您的文件都在同一个工作目录中。 否则,您将需要在传递给
Extension
类构造函数的include_dirs
参数中包含包含包含pyx和pxd文件的相关文件夹的相关文件夹设置.py不同模块的文件。在相关问题 更多 >
编程相关推荐