《转》 ImportError: No module named caffe 的解决方案
转自:http://blog.csdn.net/u014696921/article/details/52596303
在成功编译caffe的源码之后,可以在python环境中使用caffe。在Ubuntu环境下,打开python解释程序,输入import caffe时,可能会出现 ImportError: No module named caffe
>>>import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named caffe
这种情况一般是没有把caffe中的和python相关的内容的路径添加到python的编译路径中。可以使用以下方式解决问题:
在Ubuntu中,按住ctrl+alt+t打开终端,输入“python”打开python解释器,输入:
import sys
sys.path.append("/(你的caffe-master路径)/caffe-master/python")
sys.path.append("/(你的caffe-master路径)/caffe-master/python")
sys.path.append("/(你的caffe-master路径)/caffe-master/python/caffe")
提示:输入每一行之后都要按回车,让命令执行。三条命令执行之后一般就没问题了。因为python的编译路径“path”是模型“sys”的一个属性,所以要先使用命令“import sys”。
好吧,我承认上述方法治标不治本。在python解释器输入以上命令之后,使用import caffe木有问题,但是重启python解释器之后再import caffe还是会报同样的错误。只有在caffe-master/python这个文件夹之下打开python解释器使用import caffe才不会报错。
随后找到了一个不是解决办法的办法,使用python调用caffe时,在相应的.py文件的最前面加入以下四句:
#设置caffe源码所在的路径
caffe_root = '../../../caffe-master/(这是caffe-master文件夹路径,这个是相对路径,绝对路径和相对路径都可以。绝对路径写法:/../../caffe-master/)'
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
这样就没有问题了。当然,所有调用caffe框架的.py文件中都要包含这几句话。也可以把以上几句封装成一个python类,专门用来实现“import caffe”的操作。