web-dev-qa-db-ja.com

caffeをインポートするとImportError: "google.protobuf.internalという名前のモジュールはありません"(enum_type_wrapperをインポート)

Anaconda Pythonをマシンにインストールしました。 Pythonインタープリターを起動し、Pythonシェルで「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」ファイルはありますか?

13
PyNerd

これはおそらく、マシンに2つのpython環境があり、1つはLinuxディストリビューション(pip)によって提供され、もう1つはanaconda環境(/home/username/anaconda2/bin/pip)。

両方の環境にprotobufをインストールしてみてください

pip install protobuf

/home/username/anaconda2/bin/pip install protobuf

30
Jayant Agrawal

Ubuntuを使用している場合、protobufを使用してインストールしてみてください

Sudo apt-get install protobuf

私が直面したのと同じ問題を解決しました。

5

Anacondaを使用している場合は、conda install protobuf

5
chinmay singh

それを修正する最も簡単な方法:

pip install grpcio
pip install protobuf
1
Ammad

これは、python環境の混乱。

# check where pip2
$ where pip2
/usr/local/bin/pip2
/usr/bin/pip2

# check where pip
$ which pip
/usr/local/bin/pip

私のコンピューターでは、2つのpip2(python2 envを使用してcaffeをインストールしています)があるため、/usr/local/bin/pip2 install protobufはこの問題を解決しました。

/usr/local/bin/pip2 install protobuf
0
aimuch