python - Python 包结构:如何导入自动生成的 proto buf 类
问题描述
我有一个使用协议缓冲区的 API,我想将其包装在 Python SDK 中。我使用protoc从 proto 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
,但由于自动生成,这不是一个选项。
解决方案
推荐阅读
- html - 将.php ext 的.htaccess 规则重写为不存在的.html?
- tensorflow-serving - “rest_api_timeout_in_ms”选项实际控制什么?
- javascript - 在 Angular mat-list 组件中存储多个属性
- python - pd.read_csv 缺少一些列
- oracle - 如何创建一个函数来使用pl/sql函数从表中打印员工所有薪水的总和、最高薪水和最低薪水
- javascript - 如何从 Nextjs / React App 中的 URL 获取令牌?
- javascript - 无法从 PHP 中的 firebase 获取数据
- python - 高效地计算具有复杂限制的大 N 组合
- php - 在选民中获取模拟用户 - Symfony 4
- node.js - 如何在 NodeJS 中自动清理文件