7

Cython チュートリアルは、Cython で Numpy を使用する方法の良い例を示しています。ただし、scipy.stats パッケージを使用するコードがあり、コードをコンパイルしようとすると、次のようなエラーが発生します。

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

Cython (?) では scipy がサポートされていないのではないかと心配しています。誰かが Cython での scipy の使用についてコメントしたり、いくつかのリソース/チュートリアルの方向性を教えてもらえますか? ありがとう!

4

2 に答える 2

8

そこで、Cython Google グループ ( 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 does not compile. First time trying to use external C code )

解決策は、setup.py ファイルに以下を追加することでした。

import numpy 
...
Extension(..., include_dirs = [numpy.get_include(), ... ] )

ワーッ!

于 2012-07-27T19:30:08.590 に答える
2

書く

import scipy.stats

いいえ

cimport scipy.stats
于 2012-07-30T21:18:04.910 に答える