我正在努力实现谷歌的深层梦想。由于一些奇怪的原因,我一直在
ImportError:没有名为google.protobuf的模块
尝试导入protobuf后。我使用sudo install protobuf
安装了protobuf。我正在运行python 2.7 OSX Yosemite 10.10.3。
我认为这可能是部署位置问题,但我无法在网上找到任何关于它的内容。目前正在部署到/usr/local/lib/python2.7/site-packages。
答案 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)
在我的情况下我
下载了源代码,编译并安装:
$ ./configure
$ make
$ make check
$ sudo make install`
对于python我在源代码下找到了它的文件夹(python),并运行了命令:
$ python setup.py build
$ python setup.py install'
不确定这是否可以帮助你..
答案 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实际上是链接到下载和安装包的脚本。
两种可能的解决方案:
你怎么知道它有效? 如果使用新的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")
不确定这是否是错误以及报告位置。