2017-05-23 84 views
0

我試圖在AWS EC2上安裝PyCaffe for Python 3.5.3與Ubuntu 14.04 沒有 Anaconda,跟在installation instructions後面。在Ubuntu上編譯PyCaffe時找不到Python.h 14.04

我成功編譯它在同一臺機器上的Python 2.7,但編譯3.5版本時,我收到以下錯誤:

[email protected]:~/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 

所有的安裝工作,但它沒有解決問題。類似的問題

我許多其他職位,但沒有這個確切的問題(所以如果你找到的東西請它真的搶着說我沒有看不夠好之前相同的情況)。

P.S.

我也看到this post,但我不明白的路徑添加到該目錄。

回答

1

當你做一個點子安裝包,當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 /包本地系統是必需的,但只適用於您和系統上的我,因爲只有它們僅限於您,並且pip想要訪問,假設沒有限制,那麼它會被拒絕,因此您可能會考慮做

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

替代方法是刪除任何限制通過執行chmod -R 777 /usr/local/lib/python3.5/來執行和寫入該文件夾 ,通常不建議這樣做,但是需要pip才能讀取,寫入,執行該文件夾中的任何內容。

+0

這個固定我上面列出的權限錯誤(因此+1),但也許你錯過了我上面列出的主要問題,它不能解決。無論如何,我刪除了不再相關的列表部分。 – traveh

+0

你有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 ? – Eliethesaiyan

+0

是的,我有他們,剛纔我發現根本沒有'/usr/include/python3.5m'目錄。有一個'/usr/include/python3.4m'目錄,我不明白爲什麼,因爲我在機器上安裝了Python 3.5.3。 – traveh