1. 程式人生 > >Mac下配置caffe的Python介面 遇到的問題及解決辦法

Mac下配置caffe的Python介面 遇到的問題及解決辦法

前言:

剛開始是想編譯matlab介面的,畢竟對matlab比較熟悉,但是一直報錯,在網上也找不到任何有效的解決辦法,逼於無奈轉戰python。

編譯python也不是一帆風順的,剛開始在makeFileConfig中配置各種路徑,make時報錯,網上找不到解決方法,所以改用cmake。(這個過程是非常痛苦的)

在此建議用cmake進行編譯,會省去很多不必要的麻煩,而且配置簡單。

進入正題...

本文主要提供編譯過程中出現的問題的解決方法

     1、make pytest時報錯

/bin/sh:python2: command not found

make[3]:*** [CMakeFiles/pytest] Error 127

make[2]:*** [CMakeFiles/pytest.dir/all] Error 2

make[1]:*** [CMakeFiles/pytest.dir/rule] Error 2

make:*** [pytest] Error 2

錯誤原因:找不到python2命令,Python版本問題

解決方法:到/usr/bin中檢視是否有python2檔案,沒有的話肯定提示命令找不到。cd到出問題檔案的路徑:build/CMakeFiles/putest.dir/build.make 修改python2為你bin裡面有的python版本(我的是python2.7),重新執行,問題解決。

2、解決問題

1後執行pytest出現問題:ImportError: No module named skimage.io   ImportError:No module named google.protobuf

解決方法:執行命令: sudo pip install protobuf(如果沒有安裝pipsudo easy_install pip)

  sudo pip scikit-image

那麼問題來了如果你是10.10之後的系統就面臨一個系統許可權問題

重啟電腦,按住command + R進入恢復模式,選擇左上角實用工具下的終端,輸入csrutil disable回車,reboot,重啟完美解決許可權問題(csrutil

enabl恢復SIP機制

3、Exception: "dot" not found in path.

解決方法: brew installgraphviz(不能用pip安裝)

4'numpy/arrayobject.h' file not found

Pip install numpy

如果你明明裝了numpy,卻報錯,重新cmake..

5、執行make pytest時python崩潰

原因:mac自帶python版本bug,下載python2.7.13,然後重新跑。(注意不要解除安裝自帶python,會出現很多問題,血的教訓!)自己裝的python會裝在/Library目錄下,系統自帶的在/System/Library,跑程式時選擇的環境是python2.7.13

安裝2.7.13後,如果cmake時Python配置是這樣的


libraries路徑還是系統自帶的Python2.7.10,則需要修改CMakeCache.txt

如下:

注:自己裝的2.7.13在local下並沒有include/python2.7和lib/libpython2.7.dylib,需要自己將2.7.13的相應檔案連結到local下,命令為:

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 /usr/local/include/python2.7

sudo ln -s /Library/Frameworks/Python.framework/Versions/2.7/Python /usr/local/lib/libpython2.7.dylib

修改好CMakeCache.txt後重新make pytest,ok!


如有問題,歡迎留言討論