如何导入Protocol Buffers编译器生成的源?

时间:2017-04-26 19:43:25

标签: python protocol-buffers

我使用Protocol Buffers编译器生成Python源代码。

它生成的目录结构类似于

namespace/
|-- package1/
|   \-- messages_pb2.py
|-- package2/
    \-- messages_pb2.py

它不包含__init__.py个文件。鉴于编译器擦除了每个编译的整个目录结构,添加__init__.py文件不是一个选项,并建议构建的源旨在以其他方式导入。

我尝试将namespace的路径添加到sys.path但由于某种原因导入仍然失败:

>>> from sys import path
>>> path.append(... absolute path to `namespace` ...)
>>> import package1.messages_pb2
... ImportError ...

协议缓冲区如何生成要使用的源?

所以说明:

  • 我使用的是Python 2.7
  • 某些messages_pb2模块引用其他包。因此package2.messages_pb2可能有from namespace.package1 import messages_pb2

我很少使用Python,并且没有找到解决方案。

0 个答案:

没有答案