没有名为google.protobuf的模块

时间:2015-07-09 05:24:00

标签: python install protocols protocol-buffers deep-dream

我正在努力实现谷歌的深层梦想。由于一些奇怪的原因,我一直在

  

ImportError:没有名为google.protobuf的模块

尝试导入protobuf后。我使用sudo install protobuf安装了protobuf。我正在运行python 2.7 OSX Yosemite 10.10.3。

我认为这可能是部署位置问题,但我无法在网上找到任何关于它的内容。目前正在部署到/usr/local/lib/python2.7/site-packages。

9 个答案:

答案 0 :(得分:23)

如果您运行的是python 2.7.11或其他类似版本,还有另一种可能性,

sudo pip install protobuf

没问题。

但是如果你在anaconda环境中,你应该使用

conda install protobuf

答案 1 :(得分:16)

找到google目录中的site-packages目录(当然是针对正确的后一个目录)并手动创建(空)__init__.py解决了这个问题。

(请注意,在此目录中是protobuf目录,但我的Python 2.7安装不接受新式包,因此需要__init__.py,即使为空,也要将文件夹标识为包文件夹。)

......如果这有助于将来的任何人。

答案 2 :(得分:7)

在我的情况下我

  1. 下载了源代码,编译并安装:

    $ ./configure
    $ make
    $ make check
    $ sudo make install`
    
  2. 对于python我在源代码下找到了它的文件夹(python),并运行了命令:

    $ python setup.py build
    $ python setup.py install'
    
  3. 不确定这是否可以帮助你..

答案 3 :(得分:6)

当我尝试使用Tensor Flow时,我收到了相同的错误消息。解决方案只是卸载 Tensor Flow和protobuf:

$ sudo pip uninstall protobuf
$ sudo pip uninstall tensorflow

然后重新安装:pip installation of Tensorflow。目前,这是:

# Ubuntu/Linux 64-bit, CPU only:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0rc0-py2-none-any.whl

答案 4 :(得分:1)

根据你的评论,你有多个版本的python 可能发生的是你用anthor python的pip安装包

pip实际上是链接到下载和安装包的脚本。

两种可能的解决方案:

  1. 转到$(PYTHONPATH)/ Scripts并从那个文件夹中运行pip,就像你保险一样 你使用正确的点子
  2. 创建pip的别名,指向$(PYTHONPATH)/ Scripts / pip,然后运行pip install
  3. 你怎么知道它有效? 如果使用新的pip很简单,则将成功安装包,否则已安装包

答案 5 :(得分:1)

当我命令 pip install protobuf 时,出现错误:

  

无法卸载“六个”。这是一个distutils安装的项目,因此我们无法准确确定属于该文件的文件,而这只会导致部分卸载。

如果您和我有同样的问题,则应执行以下命令。

pip install --ignore-installed six sudo pip install protobuf

答案 6 :(得分:0)

我用这个命令安装了protobuf:

conda install -c anaconda protobuf=2.6.1

(你应该查看protobuf的版本)

答案 7 :(得分:0)

就我而言,MacOS拥有权限控制权。  sudo -H pip3 install protobuf

答案 8 :(得分:0)

当我的项目文件中有google.py文件时,我遇到了这个问题 它很容易重现。
main.py: import tensorflow as tf
google.py: print("Protobuf error due to google.py")

不确定这是否是错误以及报告位置。