【问题标题】:Can't find Python.h when compiling PyCaffe on Ubuntu 14.04在 Ubuntu 14.04 上编译 PyCaffe 时找不到 Python.h
【发布时间】:2017-05-23 17:42:16
【问题描述】:

我正在尝试在带有 Ubuntu 14.04 没有 Anaconda 的 AWS EC2 上安装 PyCaffe for Python 3.5.3,遵循 installation instructions

我在同一台机器上为 Python 2.7 成功编译了它,但在为 3.5 版编译时出现以下错误:

ubuntu@ip-172-31-3-227:~/caffe$ make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
python/caffe/_caffe.cpp:1:52: fatal error: Python.h: No such file or directory
 #include <Python.h>  // NOLINT(build/include_alpha)

我看到this post 并表演了:

sudo apt-get install python3-dev

我找到了this,所以我执行了 Python 3.5 的等效命令:

for req in $(cat requirements.txt); do sudo pip3.5 install $req; done

所有安装都正常,但没有解决问题。

我有很多其他类似问题的帖子,但不是这个确切的问题(所以如果你发现了什么,请在急于说我看起来不够好之前检查它是否真的是相同的情况)。

附言

我也看到了this post,但我不明白要将哪些目录添加到路径中。

【问题讨论】:

    标签: python-3.x amazon-ec2 ubuntu-14.04 pycaffe


    【解决方案1】:

    当你做一个 pip 安装包时,当 pip 发现新版本时,它会卸载当前的(在你的情况下是 dateutil )当使用某些权限安装包时,pip 需要相同的权限才能卸载/升级它。

    快速解决方法是改变这一点

    `for req in $(cat requirements.txt); do pip3.5 install $req; done` to
    
    for req in $(cat requirements.txt); do sudo pip3.5 install $req; done
    

    您似乎无权以用户身份访问 /usr/local/lib/python3.5/ 文件夹,进入 /usr/local 的软件包是系统需要的,但只有您可以使用,并且只有您在系统,我假设因为只有他们被限制给你,并且 pip 想要访问假设没有限制,那么它会被拒绝,所以你可以考虑这样做

    for req in $(cat requirements.txt); do  pip3.5 --user yourusername install $req; done
    

    另一种方法是删除对该文件夹执行和写入的任何限制 通过执行chmod -R 777 /usr/local/lib/python3.5/ 通常不推荐这样做,但问题是您需要 pip 才能读取、写入、执行该文件夹中的任何内容。

    【讨论】:

    • 这修复了我上面列出的权限错误(因此 +1),但也许你错过了我上面列出的主要问题,它没有解决。无论如何,我删除了不再相关的列出的部分。
    • 你是否在你的 caffe Makefile.config 中启用了这些文件 # 取消注释以使用 Python 3(默认为 Python 2)# PYTHON_LIBRARIES := boost_python3 python3.5m # PYTHON_INCLUDE := /usr/include/python3 .5m \ # /usr/lib/python3.5/dist-packages/numpy/core/include ?
    • 是的,我有,刚才我发现根本没有`/usr/include/python3.5m'目录。有一个'/usr/include/python3.4m'目录,但我不明白为什么,因为我在机器上安装了Python 3.5.3。
    • 你还有这个错误ython/caffe/_caffe.cpp:1:52: fatal error: Python.h: No such file or directory吗?安装python-3.5-dev后,你是否再次构建caffe?你需要删除构建文件夹并再次重复整个过程..
    • 是的,这是我遇到的错误,但我没有安装python3.5-dev,因为它似乎不存在。我开始认为 Ubuntu 14.04 根本不存在它。
    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2015-09-30
    • 2016-11-24
    • 1970-01-01
    • 2016-11-20
    相关资源
    最近更新 更多