【发布时间】:2015-10-23 16:13:10
【问题描述】:
我在运行 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'>
我还应该提到我使用的是 CUDA 7.5,虽然我看不到我拥有的 caffe 版本(下载的 zip),但它是在 2015 年 9 月 17 日从 master 分支完成的。
我为“普通”python 能够导入 caffe 采取的操作是将以下内容添加到 ~/.bash_profile
# 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'
iPython 正在读取 .bash_profile 中设置的 PYTHONPATH,因为如果 export PYTHONPATH=... 行被注释掉,它将给出 ImportError: No module named caffe。但由于某种原因,它没有找到“普通”python 可以找到的DYLD_FALLBACK_LIBRARY_PATH。
有什么想法可能是错的吗?
【问题讨论】: