无法导入caffe-iPython不';找不到';普通';python发现
我正在运行OS X 10.11 El Capitan的Mac上使用Anaconda python 我试图在iPython中使用无法导入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
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'