我在我的机器上安装了Anaconda Python。当我启动Python解释器并在Python shell中输入“import caffe”时,我收到以下错误:
ImportError: No module named google.protobuf.internal
我有以下文件:
wire_format_lite_inl.h
wire_format_lite.h
wire_format.h
unknown_field_set.h
text_format.h
service.h
repeated_field.h
reflection_ops.h
message_lite.h
message.h
generated_message_util.h
extension_set.h
descriptor.proto
descriptor.h
generated_message_reflection.h
generated_enum_reflection.h
dynamic_message.h
descriptor.pb.h
descriptor_database.h
我需要哪些文件才能导入?是否需要“internal.h”文件?
答案 0 :(得分:29)
这可能是因为你的机器中有两个python环境,一个是你的linux发行版(pip
)提供的,另一个是anaconda环境(/home/username/anaconda2/bin/pip
)。
pip install protobuf
/home/username/anaconda2/bin/pip install protobuf
答案 1 :(得分:5)
如果您使用的是Ubuntu,请尝试使用
安装protobufsudo apt-get install protobuf
它解决了我遇到的同样问题。
答案 2 :(得分:4)
如果您使用的是Anaconda,请执行conda install protobuf
答案 3 :(得分:1)
最简单的解决方法:
pip install grpcio
pip install protobuf
答案 4 :(得分:0)
这是因为python环境混乱。
# check where pip2
$ where pip2
/usr/local/bin/pip2
/usr/bin/pip2
# check where pip
$ which pip
/usr/local/bin/pip
在我的计算机上,我有两个pip2(我使用python2 env安装了caffe),所以我用/usr/local/bin/pip2 install protobuf
解决了这个问题。
/usr/local/bin/pip2 install protobuf