J'ai installé Anaconda Python sur ma machine. Lorsque je démarre l'interpréteur Python et que je tape "import caffe" dans le Python Shell, j'obtiens l'erreur suivante:
ImportError: No module named google.protobuf.internal
J'ai les fichiers suivants:
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
De quels fichiers ai-je besoin pour que l'importation fonctionne? Existe-t-il un fichier "internal.h" requis?
C'est probablement parce que vous avez deux environnements python dans votre machine, celui fourni par votre distribution linux (pip
) et l'autre par l'environnement anaconda (/home/username/anaconda2/bin/pip
).
pip install protobuf
/home/username/anaconda2/bin/pip install protobuf
Si vous utilisez Ubuntu, essayez d'installer protobuf en utilisant
Sudo apt-get install protobuf
Cela a résolu le même problème que j'ai rencontré.
Si vous utilisez Anaconda, faites conda install protobuf
Le moyen le plus simple de le réparer:
pip install grpcio
pip install protobuf
C'est parce que la confusion d'environnement python.
# check where pip2
$ where pip2
/usr/local/bin/pip2
/usr/bin/pip2
# check where pip
$ which pip
/usr/local/bin/pip
Sur mon ordinateur, j'ai deux pip2 (j'installe caffe en utilisant python2 env), j'ai donc utilisé /usr/local/bin/pip2 install protobuf
a résolu ce problème.
/usr/local/bin/pip2 install protobuf