【问题标题】:Python/Cython: Using SciPy with CythonPython/Cython:将 SciPy 与 Cython 一起使用
【发布时间】:2012-07-27 00:46:28
【问题描述】:

Cython 教程展示了如何将 Numpy 与 Cython 一起使用的一个很好的示例。但是,我有使用 scipy.stats 包的代码,在尝试编译代码时,出现以下错误:

dvi.pyx:7:8: 'scipy.stats.pxd' not found

我担心 Cython (?) 不支持 scipy。有人可以评论在 Cython 中使用 scipy 或指出一些资源/教程的方向吗?谢谢!

【问题讨论】:

    标签: python c statistics scipy cython


    【解决方案1】:

    所以我在 Cython Google Group (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!

    【讨论】:

    • 我在 setup.py 中添加了 Extension(include_dirs = [numpy.get_include()]),然后 nada...说 Extension 未定义。你还有其他事情要做吗?
    【解决方案2】:

    import scipy.stats
    

    不是

    cimport scipy.stats
    

    【讨论】:

      猜你喜欢
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多