Python包结构:如何导入自动生成的proto buf类

时间:2019-09-03 06:42:25

标签: python protocol-buffers proto

我有一个使用协议缓冲区的API,我想将其包装在Python SDK中。我使用protoc根据原始buf定义自动生成Python类文件。我目前拥有的包裹树是

package_name/
    module_name/
        protocompiled/
            __init__.py
            endpoints.py
            messages.py
        main_stuff.py

自动编译文件endpoints.py使用messages.py文件:它使用import messages从文件中导入。但是,在给定包结构的情况下,这是不允许的,因此在尝试执行import package_name.module.protocompiled.endpoints时会引发错误:ModuleNotFoundError: No module named 'messages'

有什么办法解决这个问题?如果我能够更改自动生成的文件,则可以执行from . import messages,但是由于自动生成,因此不可行。

0 个答案:

没有答案