如何在Windows上使用Python的协议缓冲区?

时间:2014-01-17 21:54:40

标签: python protocol-buffers protoc

我一直在尝试在我的Python程序中使用协议缓冲区,但无法使其工作。我正在运行Windows 8计算机并尝试过Python 2.7.6和Python 3.3。 我下载了Python的二进制协议缓冲区编译器并用它从我的myProto_pb2.py文件生成myProto.proto,但是当我运行我的Python程序时出现以下错误:

来自"导入myProto_pb2"在使用协议缓冲区版本2.5的Python 2.7.6时,我收到以下错误:

from google.protobuf import descriptor as _descriptor
  ImportError: No module named google.protobuf

如何在Windows上从Python正确安装和运行协议缓冲区?

2 个答案:

答案 0 :(得分:10)

  

如何在Windows上从Python正确安装和运行协议缓冲区?

与任何其他软件包一样,如果要安装它,则必须实际安装它。如果您只是尝试使用位于源目录中的软件包运行,那么可能可以工作,但大多数软件包都不能正常工作;你倾向于得到顶级包import之类的内容,然后在尝试import其他内容时失败了几行......正如你所看到的那样。

我相信GoogleCode的主要下载包中有一个可安装的软件包。至少它适用于源包,如果不是win32包。在python目录中有完整的安装说明。基本上是:

C:\path\to\protobuf-2.5.0> cd python
C:\path\to\protobuf-2.5.0\python> python setup.py build
C:\path\to\protobuf-2.5.0\python> python setup.py test
C:\path\to\protobuf-2.5.0\python> python setup.py install

但是,如果win32预构建的软件包没有附带,或者你不再使用它,或者你只是想安装PyPI,那么它也可用there。所以,假设you've got pip installed

pip install protobuf

答案 1 :(得分:0)