setup.py找不到numpy标头

时间:2017-10-10 03:14:30

标签: python c numpy setup.py

要包含C扩展,构建我的repo的setup.py如下所示:

import numpy as np
from setuptools import setup, Extension

setup(
    ext_modules=[
        Extension("my_module", 
                  sources=["my_module.cc"],
                  include_dirs=[np.get_include()]),
    ],
)

但是尽管包含了numpy标头的路径,但运行python setup.py install会导致错误fatal error: 'arrayobject.h' file not found,因为my_module.cc有#include <arrayobject.h>

我已经经历了数十个相关的SO和GitHub问题,所有这些都表明我已经实施的include_dirs=[np.get_include()]解决方法。 numpy路径是/usr/local/lib/python2.7/site-packages/numpy/core/include/,是的,我确认标题确实存在。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在我的系统上,头文件位于/usr/local/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h,因此解决方案是执行include_dirs=[os.path.join(np.get_include(), 'numpy')]