我有以下文件结构
.
├── bedrock
│ ├── BUILD
│ └── bedrock
│ ├── __init__.py
│ └── main.py
└── boilerplate
├── BUILD
└── main.py
个字符
和
# bedrock/BUILD
package(default_visibility = ["//visibility:public"])
py_library(
name = "main",
srcs = glob(["**/*.py"]),
)
型
和
# bedrock/bedrock/main.py
def some_method():
return "some_value"
型
如何在boilerplate/main.py
中访问some_method
???
Bazel Python文档(实际上,任何一种文档)都非常糟糕!
1条答案
按热度按时间9avjhtql1#
它通常是
from bedrock.bedrock import main
。需要注意的是,
srcs = ["main.py","//bedrock:main"]
通常是不正确的,目标通常不依赖于其他包的源代码。范例:
bedrock/BUILD
:字符串
bedrock/bedrock/main.py
:型
boilerplate/BUILD
:型
boilerplate/main.py
:这与在工作区根目录下运行
boilerplate/main.py
相同,其中PYTHONPATH
设置为当前目录:型