在成功编译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解释器,输入:
1、import sys
2.sys.path.append("/(你的caffe-master路径)/caffe-master/python")
3、sys.path.append("/(你的caffe-master路径)/caffe-master/python/caffe")
提示:输入每一行之后都要按回车,让命令执行。三条命令执行之后一般就没问题了。因为python的编译路径“path”是模型“sys”的一个属性,所以要先使用命令“import sys”。这种方法治标不治本,在每次python中使用caffe时都需要输入;(在python路径下打开终端运行时可以)
(使用import caffe木有问题,但是重启python解释器之后再import caffe还是会报同样的错误。只有在caffe-master/python这个文件夹之下打开python解释器使用import caffe才不会报错。
随后找到了一个不是解决办法的办法,使用python调用caffe时,在相应的.py文件的最前面加入以下四句:
#设置caffe源码所在的路径
1、caffe_root = '../../../caffe-master/(这是caffe-master文件夹路径,这个是相对路径,绝对路径和相对路径都可以。绝对路径写法:/../../caffe-master/)'
2、import sys
3、sys.path.insert(0, caffe_root + 'python')
4、import caffe
这样就没有问题了。当然,所有调用caffe框架的.py文件中都要包含这几句话。也可以把以上几句封装成一个python类,专门用来实现“import caffe”的操作。)转载原文链接点击打开链接
方法二:添加PYTHONPATH:
1、 sudo gedit /etc/profile
2、export PYTHONPATH=/home/th/Downloads/caffe-master/python:$PYTHONPATH
3、source /etc/profile (如果文件中已有第二步内容,需要输入此步指令)
同样这种方法治标不治本,在每次python中使用caffe时都需要输入;(在python路径下打开终端运行时可以)
方法三:添加PYTHONPATH:(ok)
1、sudo gedit ~/.bashrc #打开 /
2、export PYTHONPATH=/home/usrname/caffe/python:$PYTHONPATH #配置文件最后写入该路径,本人是export PYTHONPATH=/home/dell/caffe/python:$PYTHONPATH /
3、source ~/.bashrc #生效
(隔了好久再用caffe,又出现python路径无法找到,导致no moudle caffe,试了上述方法均不行,最后才发现连接的是ubantu自带python2.7,而不是makefile中的pythonpath,更改python软链接即可)