1.py_binary:
py_binary(name, deps, srcs, data, args, compatible_with, default_python_version, deprecation, distribs, features, imports, legacy_create_init, licenses, main, output_licenses, restricted_to, srcs_version, stamp, tags, testonly, toolchains, visibility)
py_binary
是一个可执行的Python程序,它包含了所需要的.py
源文件(可能属于其他py_library
规则),*.runfiles
包含程序在运行时所需的所有代码和数据的目录树,以及用于启动程序的存根脚本正确的初始环境和数据。
属性main:
作为应用程序主入口点(也就是该规则的第一个运行的主程序,就像C语言中的main函数的功能)的源文件的名称。此文件也必须列在中srcs
。如果未指定, 则改用与属性name的名字的程序作为main的指定开始程序。如果name
不匹配任何srcs的文件名,则main
必须指定。
属性name:
一般而言需要该名字与srcs中的起始main程序一致,目的是为了在没有指定main属性时,规则的入口main程序则是与name相同的程序。
属性imports:
被加入PYTHONPATH的引用目录列表,这些目录会被加入改规则和所有依赖这条规则的所有规则。