You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake构建时报错缺少Python_NumPy_INCLUDE_DIRS如何解决

修复方案
  • 第一步:安装Anaconda环境对应的NumPy
    你之前安装的python-dev是系统自带Python2的开发依赖,对你使用的Anaconda Python3.7不生效,先执行命令安装对应版本的NumPy:
/home/dfw/anaconda3/bin/python -m pip install numpy
  • 第二步:清空CMake构建缓存
    CMake会缓存历史查找结果,旧的错误缓存会导致新配置参数不生效,需要完全清空构建目录后重新配置:
# 假设你的构建目录是源码根目录下的build文件夹
rm -rf build && mkdir build && cd build
  • 第三步:使用适配新版CMake的配置参数
    CMake 3.12+版本的FindPython模块使用Python_前缀的变量,你之前使用的PYTHON_前缀是旧版本模块的参数,不会生效,正确的配置命令如下:
cmake .. \
-DPython_ROOT=/home/dfw/anaconda3 \
-DPython_EXECUTABLE=/home/dfw/anaconda3/bin/python \
-DPython_NumPy_INCLUDE_DIRS=$(/home/dfw/anaconda3/bin/python -c "import numpy; print(numpy.get_include())")

如果项目明确要求查找Python3,可将所有变量前缀替换为Python3_,比如-DPython3_ROOT、-DPython3_EXECUTABLE。

问题根因

CMake默认优先查找系统路径下的Python版本,你之前设置的参数适配旧版CMake的Python查找逻辑,同时缺失Anaconda环境下的NumPy头文件路径,导致CMake识别到了系统Python2.7但找不到对应NumPy,也没有正确定位到你指定的Anaconda Python3.7。


内容的提问来源于stack exchange,提问作者dfsdaffewe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:48:02