轉載請注明出處:
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路徑不對,出錯了吧(瞎猜的)。。。