Cython教程中有一个很好的例子展示如何在Cython中使用Numpy。然而,我有一些使用scipy.stats包的代码,在尝试编译时出现了以下错误:
dvi.pyx:7:8: 'scipy.stats.pxd' not found
我担心scipy不支持Cython(?)。 有人可以就在Cython中使用scipy发表评论,或者指引我一些资源/教程的方向吗?谢谢!
dvi.pyx:7:8: 'scipy.stats.pxd' not found
我担心scipy不支持Cython(?)。 有人可以就在Cython中使用scipy发表评论,或者指引我一些资源/教程的方向吗?谢谢!
import pylab as PL
from scipy import integrate
from scipy import optimize
from scipy.integrate import odeint
import numpy as np
cimport numpy as np
cimport cython
这让我相信我能够使用SciPy进行编译。当添加cimport cython
语句时,我收到了以下编译错误:
dvi.c:237:31: error: numpy/arrayobject.h: No such file or directory
dvi.c:238:31: error: numpy/ufuncobject.h: No such file or directory
看起来好像存在路径或目录问题。实际上,我是正确的,并且这个网站上有一篇文章(My Cython code parses into C, but doesn't compile. First time trying to use external C code)。
解决方案是将以下内容添加到我的setup.py文件中:
import numpy
...
Extension(..., include_dirs = [numpy.get_include(), ... ] )
W00t!
编写
import scipy.stats
不
cimport scipy.stats
Extension(include_dirs=[numpy.get_include()])
,但是出现了“未定义的Extension”错误。还需要做更多的事情吗? - Chris