无法导入caffe-iPython不';找不到';普通';python发现

无法导入caffe-iPython不';找不到';普通';python发现,python,caffe,pycaffe,Python,Caffe,Pycaffe,我正在运行OS X 10.11 El Capitan的Mac上使用Anaconda python 我试图在iPython中使用pycaffe,但导入它(import caffe)失败,并出现错误 ImportError: dlopen(/Users/.../Documents/caffe-master/python/caffe/_caffe.so, 2): Library not loaded: @rpath/libcudart.7.5.dylib Referenced from: /Use

我正在运行OS X 10.11 El Capitan的Mac上使用Anaconda python

我试图在iPython中使用
pycaffe
,但导入它(
import caffe
)失败,并出现错误

ImportError: dlopen(/Users/.../Documents/caffe-master/python/caffe/_caffe.so, 2): Library not loaded: @rpath/libcudart.7.5.dylib
  Referenced from: /Users/.../Documents/caffe-master/python/caffe/_caffe.so
  Reason: image not found
虽然iPython无法导入caffe,但在“普通”python中这样做是可行的

Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, May 28 2015, 17:04:42) 
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> import caffe
>>> caffe.Net
<class 'caffe._caffe.Net'>
iPython正在读取
.bash_profile
中的PYTHONPATH集,因为如果
导出PYTHONPATH=…
行被注释掉,它将给出
导入错误:没有名为caffe的模块。但由于某些原因,它找不到“普通”python所能找到的
DYLD\u FALLBACK\u LIBRARY\u路径


关于可能的错误有什么想法吗?

好的,所以主要的问题是由于El Capitan中名为SIP(系统完整性保护)的新功能,它阻止设置
DYLD\u FALLBACK\u LIBRARY\u PATH
。这是一项功能,旨在针对Mac OSX上的根攻击提供额外的保护

要禁用SIP,请执行以下操作:

  • 启动时按住cmd-R,以恢复模式重新启动计算机 起来
  • 打开终端窗口(在顶部菜单的实用程序下)
  • 输入
    csrutil disable
    关闭SIP(输入
    csrutil enable
    重新打开)
  • 从手册中的Apple符号重新启动计算机
这为我解决了这个问题。有关更多信息:

# added pycaffe path
export PYTHONPATH="/Users/.../Documents/caffe-master/python:$PYTHONPATH"

# needed to import pycaffe in python
export DYLD_FALLBACK_LIBRARY_PATH='/usr/local/cuda/lib:/anaconda/lib:/usr/local/lib:/usr/lib:/opt/intel/lib:/opt/intel/mkl/lib'