【发布时间】:2014-01-22 00:20:13
【问题描述】:
我是 cython 的新手。
现在,我正在尝试导入标准 c 库并在 pyx 文件中定义一个简单的函数:
from libc.math cimport sin
cdef double f(double x):
return sin(x*x)
我用这个文件编译:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules=[
Extension("demo",
["demo.pyx"],
libraries=["m"]) # Unix-like specific
]
setup(
name = "Demos",
cmdclass = {"build_ext": build_ext},
ext_modules = ext_modules
)
并生成一个名为 demo.so 的库 现在我试图在 python 文件中调用这个“f”函数:
import demo
print demo.f(2)
编译器说,
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'f'
有谁知道,如何调用 pyx 文件中的函数?谢谢!
【问题讨论】: