I installed Anaconda Python on my machine. When I start the Python Interpreter and type "import caffe" in the Python shell, I get the following error:
ImportError: No module named google.protobuf.internal
I have the following files:
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
What files do I need so the import will work? Is there an "internal.h" file that is required?
This is probably because you have two python environments in your machine, the one provided by your linux distribution(
pip
) and the other by the anaconda environment (/home/username/anaconda2/bin/pip
).Try installing protobuf for both environments to be sure
pip install protobuf
/home/username/anaconda2/bin/pip install protobuf
This is because the python envirnment confusion.
On my computer, I have two pip2(I install caffe using python2 env), so I used
/usr/local/bin/pip2 install protobuf
solved this problem.Easiest way to fix it:
When have multiple python version use: as suggested by aimuch.
If you are using Anaconda, do
conda install protobuf
If you are using Ubuntu, try installing protobuf using
It solved the same problem that I faced.