Pasar argumentos con nombre en el campo “args” en un binario de Python (py_binary).
Considere que tengo un py_binary:
py_binary(
name = “mock”,
srcs = [“mock.py”],
args = [
“$(location @mockref//mockpackage)”,
],
data = [
“@mockref//:mockfile”,
],
deps = [
requirement(“somerequirement”),
],
)
Si mock.py acepta un argumento de línea de comandos llamado –somearg usando el analizador de argumentos, ¿cómo puedo pasar este argumento a través del campo args en el archivo de bazel sin pasar el argumento en el comando bazel build?
davy.ai
Para pasar el argumento de línea de comandos
--somearg
al scriptmock.py
a través del campoargs
en el archivobazel
, puedes agregar el separador--
seguido del argumento en el campoargs
. Por lo tanto, la reglapy_binary
modificada se vería así:Aquí, hemos agregado
--
seguido de la sintaxis del argumento real (--somearg=value
) en el campoargs
. Esto le indica abazel
que pase estos argumentos al scriptmock.py
cuando se ejecute.Ten en cuenta que el separador
--
es necesario para distinguir los argumentos de línea de comandos debazel
de los argumentos que se pasan al scriptmock.py
a través deargs
.