【问题标题】:make pycaffe fatal error: 'Python.h' file not found使pycaffe致命错误:找不到'Python.h'文件
【发布时间】:2015-09-30 05:55:08
【问题描述】:

我在运行 OSX 10.9.5 的 Mac 上编译了 caffe,我知道尝试编译 pycaffe。当我在 caffe 根文件夹中运行 make pycaffe 时,我得到:

CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:1:10: fatal error: 'Python.h' file not found
#include <Python.h>  // NOLINT(build/include_alpha)
         ^
1 error generated.
make: *** [python/caffe/_caffe.so] Error 1

我该如何解决这个问题?

也许 Makefile.config 有问题。我怎么知道我的 PYTHONPATH 是什么?

【问题讨论】:

  • 查看 Python 安装的包含文件夹。
  • 嗨@MalikBrahimi,你能说得更具体点吗?
  • 如果我执行 `cd /usr/local/bin/python' 它告诉我“不是目录。如果我在 finder 中转到 /usr/local/bin/,我会看到一个 python 图标,但没有文件夹。
  • 查看here提到的文件夹。
  • 好的!使用哪个 Python 我得到 /Users/Andrea/anaconda/bin/Python。

标签: python macos compiler-errors neural-network caffe


【解决方案1】:

查看 cmets,我看到您使用 Anaconda。在Makefile.config 中,您应该取消注释专用于 Anaconda 的行:

# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
        # $(ANACONDA_HOME)/include/python2.7 \
        # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

Python.h$(ANACONDA_HOME)/include/python2.7 中,正如你所看到的运行sudo find / -name 'Python.h'

【讨论】:

  • 我刚刚意识到我只是部分取消了那些与 anaconda 相关的 PYTHON_INCLUDE 行的注释......哎呀,不得不重新制作。非常感谢您指出细节!
【解决方案2】:

我也遇到了这个问题。 我已经设置了PYTHON_INCLUDE PATH

    PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
    $(ANACONDA_HOME)/include/python2.7

但还是找不到Python.h

所以我只是手动将包含路径提供给编译器,如下所示:

    export CPLUS_INCLUDE_PATH=/home/woolawren/anaconda2/include/python2.7/:$CPLUS_INCLUDE_PATH

如果你不使用anaconda2,你可以使用:

    export CPLUS_INCLUDE_PATH=/usr/include/python2.7:$CPLUS_INCLUDE_PATH

我已经通过这样做成功地完成了“make pycaffe”。

【讨论】:

    【解决方案3】:

    我刚刚在 Arch Linux 上完成了繁琐的 Caffe 安装;希望我的安装说明(下面的链接)对其他人有所帮助。

    虽然特定于我的 Caffe 安装,但这些注释解决了“Python.h”安装错误(本问题),以及另一个 SO 问题中提到的下游问题,

    Import caffe error.

    https://stackoverflow.com/questions/28177298/import-caffe-error
    

    我的 gist 文件(笔记):

    Caffe Installation Notes

    https://gist.github.com/victoriastuart/fb2cb22209ccb2771963a25c06221213
    

    【讨论】:

      【解决方案4】:

      我在 Makefile.config 中取消了以下代码的注释

      PYTHON_INCLUDE := /usr/include/python3.5m \
                       /usr/lib/python3.5/dist-packages/numpy/core/include
      

      然后 sudo make pycaffe。

      成功了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-17
        • 2018-09-01
        • 1970-01-01
        • 2021-02-26
        • 2020-10-02
        • 2015-01-20
        • 2014-12-21
        • 2013-12-10
        相关资源
        最近更新 更多