我一直在尝试在我的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正确安装和运行协议缓冲区?
答案 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)