我在理解 bazel 的 python 导入目录时遇到问题。给定一棵这样的树:
.
├── WORKSPACE
├── python_lib_a/
│ ├── BUILD
│ └── src/
│ └── package1/
│ └── folder1/
│ └── some_file.py
└── python_binary_a/
├── BUILD
└── src/
└── package1/
└── folder2/
└── python_binary.py
文件如何像这样python_binary.py
导入some_file.py
文件:
from package1.folder1.some_file import SomeClass
我对 Bazel 很陌生,所以我的谷歌查询可能是错误的。我找不到任何删除/剥离文件夹名称的示例。如有必要,我愿意编写自定义规则。类似于在编译期间更改文件夹的插件。
编辑:除了接受的答案之外,我还必须将此添加到package1/__init__.py
库和二进制 src 文件夹中的文件中:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)