无法将 caffe 导入 python、libjpeg.so。找不到 62

Cannot import caffe into python, libjpeg.so.62 not found

我无法将 caffe 导入 (anaconda-) python。 我在 "logistic regression on non-image HDF5 data" 上关注 notebook example。当我执行行

import caffe

我收到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-17-3524921938b5> in <module>()
      8 sys.path.insert(0, caffe_root + 'python')
      9 
---> 10 import caffe
     11 

/home/myName/libs/caffe/caffe-master-anaconda-python/python/caffe/__init__.py in <module>()
----> 1 from .pycaffe import Net, SGDSolver
      2 from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver
      3 from .proto.caffe_pb2 import TRAIN, TEST
      4 from .classifier import Classifier
      5 from .detector import Detector

/home/myName/libs/caffe/caffe-master-anaconda-python/python/caffe/pycaffe.py in <module>()
     11 import numpy as np
     12 
---> 13 from ._caffe import Net, SGDSolver
     14 import caffe.io
     15 

ImportError: libjpeg.so.62: cannot open shared object file: No such file or directory

libjpeg.so.62 明确安装在 /usr/lib/i386-linux-gnu/libjpeg.so.62 下。我不知道这里出了什么问题或如何告诉 anacondapython 在哪里寻找 libjpeg.so.62.

我已经试过了 sudo apt-get install libjpeg62:i386 但是 apt-get 说 "libjpeg62:i386 is already the newest version. libjpeg62:i386 set to manually installed."

我在修改 "Makefile.config" 时编译了 caffe,使其指向 ananconda python 路径。我还导出了我的 anaconda 目录的 PYTHONPATH 和 PATH:

export PATH="/home/myName/libs/anaconda/bin:$PATH"
export PYTHONPATH="/home/myName/libs/caffe/caffe-master-anaconda-python/python:$PYTHONPATH"

好的,我终于找到了解决方案:

我不得不sudo apt-get install libjpeg62

此后尝试 import caffe 时出现新错误,即

ImportError: /home/myName/libs/anaconda/bin/../lib/libm.so.6: version `GLIBC_2.15' not found (required by /usr/lib/x86_64-linux-gnu/libx264.so.142)

这可以通过删除一些有问题的 anaconda 库从而求助于系统库来解决,引用 shelhamer: "Some versions of Anaconda seem to come with a bad libm. rm ~/anaconda/lib/libm.* takes care of this by reverting to the system libm."

github bvlc