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

Ubuntu16.04编译pycaffe遇Python.h不存在错误(python-devel无效)求解决

解决Ubuntu 16.04下Anaconda 3.6编译pycaffe时找不到Python.h的问题

你遇到的核心问题其实是Anaconda的Python环境与系统默认Python的路径冲突——虽然系统的/usr/include/python3.5m里有Python.h,但你用的是Anaconda 3.6,编译pycaffe时程序会优先找Anaconda环境下的对应文件,而非系统版本。结合你的尝试,给你几个针对性的解决步骤:

  • 第一步:确认Anaconda环境下的Python.h是否存在
    先检查你的Anaconda 3.6目录里有没有开发头文件,执行命令:

    ls ~/anaconda3/include/python3.6m/Python.h
    

    如果提示文件不存在,说明你的Anaconda Python环境缺少开发组件,执行以下命令补装:

    conda install -c anaconda python-devel
    

    或者直接重新安装带完整开发包的Python 3.6:

    conda install python=3.6
    
  • 第二步:精准配置Caffe的makefile.config
    打开Caffe根目录下的makefile.config,做以下关键修改:

    1. 取消注释并指定你的Anaconda路径:
      ANACONDA_HOME := $(HOME)/anaconda3
      
    2. 用Anaconda的Python路径替换系统默认的配置项:
      PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
              $(ANACONDA_HOME)/include/python3.6m \
              $(ANACONDA_HOME)/lib/python3.6/site-packages/numpy/core/include
      PYTHON_LIB := $(ANACONDA_HOME)/lib
      
    3. 注释掉原来的系统Python相关配置(比如# PYTHON_INCLUDE := /usr/include/python2.7 ...这类行)
  • 第三步:清理缓存并重新编译
    先清除之前的编译残留,避免旧配置干扰:

    make clean
    

    然后激活你的Anaconda环境(确保编译时用的是Anaconda的Python上下文):

    source ~/anaconda3/bin/activate
    

    最后重新编译pycaffe:

    make pycaffe -j4
    
  • 关于切换Python 2.7仍失败的补充
    如果你切换到Python 2.7时也遇到同样问题,需要确保:

    1. 你已经激活了Anaconda的Python 2.7环境(比如先创建环境conda create -n py27 python=2.7,再执行source activate py27)
    2. makefile.config里的PYTHON_INCLUDE和PYTHON_LIB都指向这个py27环境的路径,而非系统的Python 2.7目录

按照这些步骤操作后,应该能顺利解决Python.h找不到的问题。

内容的提问来源于stack exchange,提问作者J. Devez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:53:30