Cython教程展示了如何在Cython中使用Numpy的一个很好的例子。不过,我有一个使用scipy.stats包代码,并试图编译代码时,我的错误,如:(?)Python/Cython:在Cython中使用SciPy
dvi.pyx:7:8: 'scipy.stats.pxd' not found
我担心SciPy的是不支持用Cython。有人可以评论Cython的scipy使用情况,还是指向某些资源/教程的方向? Thannks!
Cython教程展示了如何在Cython中使用Numpy的一个很好的例子。不过,我有一个使用scipy.stats包代码,并试图编译代码时,我的错误,如:(?)Python/Cython:在Cython中使用SciPy
dvi.pyx:7:8: 'scipy.stats.pxd' not found
我担心SciPy的是不支持用Cython。有人可以评论Cython的scipy使用情况,还是指向某些资源/教程的方向? Thannks!
于是我发现了用Cython谷歌集团(https://groups.google.com/forum/?fromgroups#!searchin/cython-users/using$20scipy/cython-users/CF9GqYN1aPU/WKC-N9c6zpgJ)
代码显示以下的进口:
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
我接着说:扩展(include_dirs = [numpy.get_include()])'来的setup.py和虚无缥缈......说'Extension'是未定义。你需要做更多吗? – bordeo 2016-04-03 02:37:32
nvm。找到了。 http://docs.cython.org/src/reference/compilation.html – bordeo 2016-04-03 02:42:45