"py_binary"的作用是什么?



py_binary最终生成一个可执行文件还是一个py脚本的别名?它的好处是什么?如果它是一个可执行文件,它将失去python的意义。

使某些东西可执行可以只是添加一个chmod +x并在上面拍一个#!/foo/bar行,东西本身仍然是以前的任何解释器代码。

在bazel的情况下,它将添加一个包装器脚本,该脚本将在分派给Python代码之前设置一个执行环境。例如,考虑Bazel的运行文件,以及其他py_library目标。

此外,您可以在需要可执行文件作为另一个目标的属性的地方使用目标。单个Python文件没有Bazel知道的任何依赖关系,因此从技术上讲,它适合这里,但与Bazel集成不好。

最新更新