google.protobuf导入错误

时间:2017-09-20 16:09:30

标签: python tensorflow keras protocol-buffers

我正在尝试安装tensorflow,以便我可以在它上面安装keras。 我遇到了:     ImportError: No module named google.protobuf

我正在使用虚拟环境。我用pip来安装protobuf。当我使用命令pip install protobuf

时遇到这种情况
`Requirement already satisfied: protobuf in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: setuptools in /usr/local/lib/python2.7/site-packages (from protobuf)
Requirement already satisfied: six>=1.9 in /usr/local/lib/python2.7/site-packages (from protobuf)`

根据文件,它应该有效。

当我尝试安装tensorflow时,以下是我的观点:

`>>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/swaghccc/.virtualenvs/keras_tf/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/Users/swaghccc/.virtualenvs/keras_tf/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/Users/swaghccc/.virtualenvs/keras_tf/lib/python2.7/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
ImportError: No module named google.protobuf`

我无法找到这个问题的正确答案。我读过我必须&#34;只需安装protobuf&#34;但不幸的是,这没有帮助。

请帮忙。

2 个答案:

答案 0 :(得分:0)

您的protobuf安装在/usr/local/lib/python2.7/site-packages,您的活动环境位于/Users/swaghccc/.virtualenvs/keras_tf

激活您的虚拟环境keras_tf。确保你在那个环境中。您可以通过执行which python来执行此操作。这应该返回一个包含keras_tf的路径。然后,做pip freeze。查看是否已安装protobuf。如果没有,请在该环境中安装它。然后,尝试再次导入tensorflow

答案 1 :(得分:0)

我遇到了同样的问题。 pip listpip show可以找到protobuf的包,但是当我在Python shell中导入tensorflow时,它引发了no module的错误。最后,我通过sudo pip install protobuf或root用户重新安装protobuf解决了这个问题。希望这会有所帮助。