PyCaffe编译失败:找不到lboost_python(MacOS环境)
我看你在MacOS 10.13.3上用Python 2.7.14编译仅支持CPU的Caffe时,make run test能顺利完成,但执行make pycaffe就报错了。虽然你贴的错误输出被截断了,但根据这类场景的常见问题,我整理了几个大概率能解决问题的方案:
检查Python路径配置
先打开Makefile.config,确认里面的Python相关路径是否精准指向你安装的Python 2.7.14版本。比如如果你是用Homebrew安装的Python,配置应该类似这样:CPU_ONLY := 1 PYTHON_INCLUDE := /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/include/python2.7 \ /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include PYTHON_LIB := /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib别用系统默认的Python路径,很容易和brew安装的版本冲突。
修复NumPy依赖问题
pycaffe编译失败很多时候是NumPy的include路径不匹配导致的。先执行pip2 show numpy查看NumPy的安装路径,确认这个路径和Makefile.config里PYTHON_INCLUDE中的numpy路径一致。如果不一致,要么手动修改配置文件,要么重新安装适配的NumPy版本:pip2 install numpy==1.16.6 --force-reinstall(1.16.6是Python2.7支持的最后一个NumPy稳定版)
清理缓存后重新编译
之前编译留下的缓存文件可能会干扰pycaffe的编译,先彻底清理再重新编译:make clean make run test -j4 make pycaffe -j4-j4是利用4核CPU加速,你可以根据自己的CPU核心数调整数字。确认编译器兼容性
MacOS 10.13默认用Clang编译器,别用GCC(除非是你手动适配过的版本)。在Makefile.config里确保编译器设置正确:CXX := clang++ CC := clang
如果以上方案都没解决问题,麻烦把完整的错误输出贴出来——你现在贴的内容到./include/caff...就中断了,比如具体是哪个头文件找不到、哪个符号未定义这类细节,能帮我更精准定位问题。
内容的提问来源于stack exchange,提问作者Alan Vitullo

