使用include_path作为cythonize中的关键字的Cython编译错误

Yux*_*ang 9 python cython

我有一个名为'test.pyx'的代码段:

import numpy as np
cimport numpy as np

print(np.arange(10))
Run Code Online (Sandbox Code Playgroud)

然后我写了两个setup.py来编译它们.第一个工作正常:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize
import numpy as np

extensions = [
    Extension('test', ['test.pyx'], include_dirs = [np.get_include()]),
    ]

setup(
    ext_modules = cythonize(extensions)
    )
Run Code Online (Sandbox Code Playgroud)

而这个不起作用(这也来自http://docs.cython.org/src/reference/compilation.html上的一个例子):

from distutils.core import setup
from Cython.Build import cythonize
import numpy as np


setup(
    ext_modules = cythonize('./test.pyx', include_path=[np.get_include()])
    )
Run Code Online (Sandbox Code Playgroud)

它说:./ test.c(346):致命错误C1083:无法打开包含文件:'numpy/arrayobject.h':没有这样的文件或目录.

我在Windows 64位上使用Python 3.3 64位,使用WinSDK 7.1.

Jer*_*yer 4

这是 Cython 文档错误,另请参阅https://github.com/cython/cython/issues/1480