记录一下这个bug的fix过程
一开始以为是版本问题,尝试了几个不同版本都不可以,遂排除版本问题的可能
定位
首先 pip list
看到确实安装了这个库
接着 pip show
查看 numpy 库的安装路径
numpy/arrayobject.h
是 NumPy 的 C-API 头文件,其路径通常位于 NumPy 安装目录的 core/include/numpy
子目录中;
对应到 conda
环境中,这个文件存在于 python3.X/site-packages/numpy/core/include/numpy/arrayobject.h
目录下,验证确实存在这个文件
那么问题就在于 PyTorch 编译时,没有把 numpy 的 core/include
包含在其 include
中,因其,文件中通过 #include <numpy/arrayobject.h>
这样的形式引用的。
解决方法
1. 编译时找不到头文件
设置环境变量:
python
export C_INCLUDE_PATH=$(python -c "import numpy; print(numpy.get_include())")
export CPLUS_INCLUDE_PATH=$C_INCLUDE_PATH
export
时需要 activate 对应的 conda 环境
解决