python - 如何在 Windows 上使用 Python 的 Protocol Buffer ?

标签 python protocol-buffers protoc

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

在“import myProto_pb2”行中,使用 2.5 版 Protocol Buffer 中的 Python 2.7.6 时出现以下错误:

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

如何在 Windows 上通过 Python 正确安装和运行 Protocol Buffer ?

最佳答案

How can I correctly install and run protocol buffers from Python on Windows?

与任何其他包一样,如果你想安装它,你必须实际安装它。如果您只是尝试使用位于源目录中的包运行,它可能 可以工作,但大多数包不能那样工作;你往往会得到像顶级包 importing 之类的东西,然后当它试图 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

关于python - 如何在 Windows 上使用 Python 的 Protocol Buffer ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196648/

相关文章:

python - 在 Ubuntu 18.04 上安装 uwsgi 时出现问题

python - 从 odeint scipy python 使用的函数中提取值

python - ValueError:长度不匹配:预期轴有13个元素,新值有2个元素

protocol-buffers - protoc 在哪里以及如何安装它?

python - 为什么我的 Protobuf 消息(在 Python 中)忽略了零值?

python - 过期的 firebase 身份验证 token 的异常处理

go - gRPC 服务器和客户端应该在同一个存储库中吗?

c# - ProtoBuf 在反序列化期间损坏字节数组(添加了额外的 0)

go - 如何用数据动态填充结构?

go - protoc-gen-go-grpc : program not found or is not executable