转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/5993405.html

之前在一台台式机上在python中使用import caffe时,没有出错。但是在服务器上使用import caffe时,提示no module named google.protobuf.internal。

在protobuf-2.6.1的文件夹内,有python文件夹的README.txt里面写了怎么安装python的支持。

1. 终端定位到protobuf-2.6.1/python中,然后输入:

python setup.py build

安装完之后,就可以了。

如果继续输入

python setup.py google_test

可能会有错误:

raise exceptions.UnparsedFlagAccessError(error_message)

貌似不用管吧。终端中继续输入

python
import caffe

不会提示no module named google.protobuf.internal了。

2. 如果到此处,只有当终端在protobuf-2.6.1/python目录内时,python中import caffe才不会报错。当终端在其他文件夹内时,import caffe依旧会出错。在终端中输入如下命令:

export PYTHONPATH=/home/XXX/protobuf-2.6.1/python:$PYTHONPATH

之后输入:

source ~/.bashrc

后,在其他文件夹内使用python时,import caffe便不会出错了。

说明:

刚才查了一下,台式机上python是默认的/usr/lib/python2.7,而服务器上是在其他路径下的miniconda2。可能这个原因,导致服务器上直接编译protobuf后,在使用时,由于python路径不对,出错了吧(瞎猜的)。。。