如何(气密地)将python
作为genrule
的(可执行)输入?在
从概念上讲,我知道以下方法:
这样做似乎也有几种方法:
示例:
我有一个python库:
myproject
- setup.py
- mylibrary
- __init__.py
- myfunction.py
我想用Bazel生成一个pip install
的发行版,这样我就可以:
我在myproject/WORKSPACE
处添加了一个(空的)WORKSPACE
文件,并遵循this medium article中的示例:
# myproject/BUILD
genrule(
name = "mylibrary_sdist",
srcs = glob(["**/*.py"]),
outs = ["mylibrary.tar.gz"],
cmd = "python setup.py sdist && mv dist/mylibrary*.tar.gz $(location mylibrary.tar.gz)"
)
这是可行的(例如,产生bazel-genfiles/mylibrary.tar.gz
),但我要做的是python
。在
如何(气密地)将python
作为genrule
的(可执行)输入?在
除非我误解了您的问题,否则这应该只是将实际路径传递到目标python可执行文件的问题。我会将python可执行文件检查到
third_party
目录中,而不是简单地使用python
调用genrule,而是将相对路径传递给该可执行文件相对于WORKSPACE
。在相关问题 更多 >
编程相关推荐