use*_*973 9 python protocol-buffers protoc
我一直在尝试在我的Python程序中使用协议缓冲区,但无法使其工作.我正在运行Windows 8机器,并尝试过Python 2.7.6和Python 3.3.我下载了Python的二进制协议缓冲编译器并用它myProto_pb2.py从我的myProto.proto文件生成,但是当我运行我的Python程序时出现以下错误:
从"import myProto_pb2"行,从协议缓冲区版本2.5使用Python 2.7.6时出现以下错误:
from google.protobuf import descriptor as _descriptor
ImportError: No module named google.protobuf
Run Code Online (Sandbox Code Playgroud)
如何在Windows上从Python正确安装和运行协议缓冲区?
aba*_*ert 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
Run Code Online (Sandbox Code Playgroud)
但是如果win32预构建的软件包没有附带,或者你不再使用它,或者你只是想安装PyPI,它也可以在那里使用.所以,假设你已经pip安装:
pip install protobuf
Run Code Online (Sandbox Code Playgroud)