Informar un problemaopen_in_new
Ver fuenteopen_in_new
Por la noche
·
7.3
·
7.2
·
7.1
·
7.0
·
6.5
Reglas
py_binary
Ver el código fuente de la reglaopen_in_new
py_binary(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, exec_compatible_with, exec_properties, features, imports, legacy_create_init, licenses, main, output_licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, srcs_version, stamp, tags, target_compatible_with, testonly, toolchains, visibility)
Argumentos
Atributos |
name |
Nombre: obligatorio.
Un nombre único para este objetivo.
|
deps
|
Lista de etiquetas; el valor predeterminado es []
Es la lista de bibliotecas adicionales que se deben vincular al destino.
Consulta los comentarios sobre el atributo [`deps`, que suele definirse con reglas](https://bazel.build/reference/be/common-definitions#typical-attributes).
Por lo general, son reglas "py_library".
Los destinos que solo proporcionan archivos de datos que se usan en el tiempo de ejecución pertenecen al atributo "data".
|
srcs
|
Lista de etiquetas; obligatorio.
La lista de archivos de origen de Python que se procesan para crear el destino. Esta
incluye todo el código registrado y puede incluir archivos fuente generados. Los archivos .py pertenecen a "srcs" y los destinos de bibliotecas pertenecen a "deps". Otros archivos binarios que pueden ser necesarios en el tiempo de ejecución pertenecen a "data".
|
data
|
Lista de etiquetas; el valor predeterminado es []
Es la lista de archivos que necesita esta biblioteca en el tiempo de ejecución. Ver comentarios sobre
el [atributo “datos” definido normalmente por reglas](https://bazel.build/reference/be/common-definitions#typical-attributes).
No hay "py_embed_data" como "cc_embed_data" y "go_embed_data". Esto se debe a que Python tiene un concepto de recursos de tiempo de ejecución.
|
imports
|
Lista de cadenas; el valor predeterminado es []
Lista de directorios de importación que se agregarán a PYTHONPATH.
Está sujeto a la sustitución "Make variable". Estos directorios de importación se agregarán
para esta regla y todas las reglas que dependen de ella (nota: no las reglas de las que depende esta
regla). Cada directorio se agregará a "PYTHONPATH" mediante las reglas "py_binary" que dependen de esta regla. Las cadenas son relativas a repo-runfiles-root.
No se permiten las rutas de acceso absolutas (rutas que comienzan con "/") ni las rutas de acceso que hacen referencia a una ruta de acceso
arriba de la raíz de ejecución, ya que se producirá un error.
|
legacy_create_init
|
Número entero (el valor predeterminado es -1 )
Establece si se deben crear implícitamente archivos "__init__.py" vacíos en el árbol de archivos de ejecución.
Estos se crean en todos los directorios que contienen código fuente de Python o se comparten
bibliotecas y todos los directorios superiores de esos directorios, excepto el repositorio
directorio raíz. El valor predeterminado, “-1” (automático), significa verdadero, a menos que
Se usa "--incompatible_default_to_explain_init_py". Si es falso, el usuario es responsable de crear archivos "__init__.py" (posiblemente vacíos) y agregarlos a "srcs" de los destinos de Python según sea necesario.
|
main
|
Etiqueta (Label); el valor predeterminado es None
Opcional: Es el nombre del archivo fuente que es el punto de entrada principal de la aplicación. Este archivo también debe aparecer en "srcs". Si no se especifica, se usa "name", con ".py" agregado. Si el argumento "nombre" no coincide con ninguno
nombre de archivo en `srcs`, se debe especificar `main`.
|
precompile
|
Cadena; el valor predeterminado es "inherit"
Si los archivos de origen py **para este destino** deben compilarse previamente.
Valores:
* "inherit": Determina el valor de la marca {flag}`--precompile`.
* "enabled": Compila los archivos fuente de Python en el tiempo de compilación. Ten en cuenta que
--precompile_add_to_runfiles afecta la manera en que se incluyen los archivos compilados en
un objeto binario descendente.
* "disabled": No compila los archivos fuente de Python en el tiempo de compilación.
* "if_generated_source": Compila archivos fuente de Python, pero solo si son archivos generados.
:::{seealso}
* La marca {flag}`--precompile`, que puede anular este atributo en algunos casos
y afectará a todos los destinos durante la compilación.
* El atributo {obj}`pyc_collection` para habilitar de forma transitiva la compilación previa por objetivo
* En los documentos de [Precompilación](precompilación), encontrarás una guía sobre el uso de esta función.
:::
|
precompile_invalidation_mode
|
Cadena; el valor predeterminado es "auto"
cómo se deben verificar los archivos precompilados para que estén actualizados con sus
archivos fuente. Los valores posibles son los siguientes:
* "auto": El valor efectivo se determinará automáticamente mediante otros parámetros de configuración de la compilación.
* "checked_hash": Usa el archivo pyc si el hash del archivo de origen coincide con el hash registrado en el archivo pyc. Esto es muy útil cuando se trabaja con código que
que puedes modificar.
* `unchecked_hash`: Siempre usa el archivo pyc. no verifiques el hash de pyc
al archivo fuente. Esto es muy útil cuando no se modificará el código.
Para obtener más información sobre los modos de invalidación de pyc, consulta https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode.
|
precompile_optimize_level
|
Integer; el valor predeterminado es 0
El nivel de optimización para archivos precompilados.
Para obtener más información sobre los niveles de optimización, consulta la documentación del argumento "optimize" de la función "compile" en https://docs.python.org/3/library/functions.html#compile.
NOTA: El valor "-1" significa "intérprete actual", que será el intérprete que se use _en el tiempo de compilación cuando se generen los pycs_, no el intérprete que se use en el tiempo de ejecución cuando se ejecute el código.
|
precompile_source_retention
|
String; el valor predeterminado es "inherit"
Determina, cuando se compila un archivo de origen, si se mantiene en el resultado resultante o no. Los valores válidos son los siguientes:
* `here`: Hereda el valor de la marca {flag}`--precompile_source_retention`.
* `keep_source`: Incluye la fuente original de Python.
* "omit_source": No incluye la fuente de py original.
* `omit_if_generated_source`: Conservar la fuente original si es una fuente normal.
archivo, pero omítelo si es un archivo generado.
|
pyc_collection
|
Cadena; el valor predeterminado es "inherit"
Determina si se deben incluir manualmente los archivos pyc de las dependencias.
NOTA: Este parámetro de configuración solo es útil con {flag}`--precompile_add_to_runfiles=decided_elsewhere`.
Los valores válidos son los siguientes:
* "inherit": Hereda el valor de {flag}`--pyc_collection`.
* "include_pyc": Agrega archivos pyc de dependencias en el objeto binario (de
{obj}"PyInfo.transitive_pyc_files").
* "disabled": No agregues archivos pyc de dependencias de forma explícita. Ten en cuenta que los archivos pyc pueden provenir de dependencias si un destino los incluye como parte de sus archivos de ejecución (como cuando se usa {obj}`--precompile_add_to_runfiles=always`).
|
python_version
|
Cadena; el valor predeterminado es "PY3"
Difunto, sin uso, no hace nada.
|
srcs_version
|
String; el valor predeterminado es "PY2AND3"
Difunto, sin uso, no hace nada.
|
stamp
|
Integer; el valor predeterminado es -1
Establece si se debe codificar información de compilación en el objeto binario. Valores posibles:
* `stamp = 1`: Siempre marca la información de la compilación en el objeto binario, incluso en
Compilaciones `--nostamp`. **Se debe evitar este parámetro de configuración**, ya que podría finalizar
la caché remota para el binario y cualquier acción descendente que dependa de ella.
* `stamp = 0`: Siempre reemplaza la información de compilación con valores constantes. Esto le brinda
para un buen almacenamiento en caché
de resultados de compilación.
* `stamp = -1`: La incorporación de información de la compilación está controlada por el
la marca "--[no]stamp".
Los objetos binarios estampados no se vuelven a compilar, a menos que cambien sus dependencias.
ADVERTENCIA: El estampado puede perjudicar el rendimiento de la compilación, ya que reduce los aciertos de caché y debería
evitar, si es posible.
|
py_library
Ver la fuente de la reglaopen_in_new
py_library(name, deps, srcs, data, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, imports, licenses, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, restricted_to, srcs_version, tags, target_compatible_with, testonly, toolchains, visibility)
Una biblioteca de código de Python en la que se puede confiar.
Salidas predeterminadas:
* Las fuentes de entrada de Python
* Los artefactos precompilados de las fuentes;
NOTA: La precompilación afecta cuáles de los resultados predeterminados se incluyen en el
archivos de ejecución resultantes. Consulta los atributos y marcas relacionados con la precompilación para
más información.
Argumentos
Atributos |
name |
Nombre: obligatorio.
Un nombre único para este objetivo.
|
deps
|
Lista de etiquetas; el valor predeterminado es []
Es la lista de bibliotecas adicionales que se deben vincular al destino.
Ver comentarios sobre
el [atributo `deps` generalmente definido por
rules](https://bazel.build/reference/be/common-definitions#typical-attributes).
Por lo general, son reglas "py_library".
Los destinos que solo proporcionan archivos de datos usados en el entorno de ejecución pertenecen al argumento "data"
.
|
srcs
|
Es una lista de etiquetas. El valor predeterminado es [] .
Es la lista de archivos fuente de Python que se procesan para crear el destino. Esta
incluye todo el código registrado y puede incluir archivos fuente generados. El
Los archivos `.py` pertenecen a `srcs` y los destinos de la biblioteca pertenecen a `deps`. Otro objeto binario
los archivos que se pueden necesitar en el tiempo de ejecución pertenecen a `data`.
|
data
|
Lista de etiquetas; el valor predeterminado es []
Es la lista de archivos que necesita esta biblioteca en el tiempo de ejecución. Ver comentarios sobre
el [atributo “datos” definido normalmente por reglas](https://bazel.build/reference/be/common-definitions#typical-attributes).
No hay `py_embed_data` como, por ejemplo, `cc_embed_data` y `go_embed_data`.
Esto se debe a que Python tiene un concepto de recursos de entorno de ejecución.
|
imports
|
Lista de cadenas; el valor predeterminado es []
Lista de directorios de importación que se agregarán a PYTHONPATH.
Sujeto a “Convertir en variable” sustitución de software. Estos directorios de importación se agregarán
para esta regla y todas las reglas que dependen de ella (nota: no las reglas de las que depende esta
regla). Las reglas "py_binary" agregarán cada directorio a `PYTHONPATH`
que dependen de esta regla. Las cadenas son relativas repo-runfiles-root,
Rutas de acceso absolutas (rutas que comienzan con "/") y rutas de acceso que hacen referencia a una ruta de acceso
sobre la raíz de ejecución no se permiten y generarán un error.
|
precompile
|
Cadena; el valor predeterminado es "inherit"
Si los archivos de origen py **para este destino** deben compilarse previamente.
Valores:
* "inherit": Determina el valor de la marca {flag}`--precompile`.
* "enabled": Compila los archivos fuente de Python en el tiempo de compilación. Ten en cuenta que
--precompile_add_to_runfiles afecta la manera en que se incluyen los archivos compilados en
un objeto binario descendente.
* "disabled": No compila los archivos fuente de Python en el tiempo de compilación.
* "if_generated_source": Compila archivos fuente de Python, pero solo si son archivos generados.
:::{seealso}
* La marca {flag}`--precompile`, que puede anular este atributo en algunos casos
y afectará a todos los destinos durante la compilación.
* El atributo {obj}`pyc_collection` para habilitar de forma transitiva la compilación previa por objetivo
* En los documentos de [Precompilación](precompilación), encontrarás una guía sobre el uso de esta función.
:::
|
precompile_invalidation_mode
|
Cadena; el valor predeterminado es "auto"
cómo se deben verificar los archivos precompilados para que estén actualizados con sus
archivos fuente. Los valores posibles son los siguientes:
* "auto": El valor efectivo se determinará automáticamente mediante otros parámetros de configuración de la compilación.
* "checked_hash": Usa el archivo pyc si el hash del archivo de origen coincide con el hash registrado en el archivo pyc. Esto es muy útil cuando se trabaja con código que
que puedes modificar.
* `unchecked_hash`: Siempre usa el archivo pyc. no verifiques el hash de pyc
al archivo fuente. Esto es muy útil cuando no se modificará el código.
Para obtener más información sobre los modos de invalidación de pyc, consulta https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode.
|
precompile_optimize_level
|
Integer; el valor predeterminado es 0
El nivel de optimización para archivos precompilados.
Para obtener más información sobre los niveles de optimización, consulta la documentación del argumento "optimize" de la función "compile" en https://docs.python.org/3/library/functions.html#compile.
NOTA: El valor "-1" significa "intérprete actual", que será el intérprete que se use _en el tiempo de compilación cuando se generen los pycs_, no el intérprete que se use en el tiempo de ejecución cuando se ejecute el código.
|
precompile_source_retention
|
String; el valor predeterminado es "inherit"
Determina si se conserva un archivo fuente al compilarse.
en la salida resultante o no. Los valores válidos son los siguientes:
* "inherit": Hereda el valor de la marca {flag}`--precompile_source_retention`.
* "keep_source": Incluye la fuente original de Python.
* `omit_source`: No incluyas la fuente py original.
* "omit_if_generated_source": Conserva la fuente original si es un archivo de origen normal, pero omítela si es un archivo generado.
|
srcs_version
|
Cadena; el valor predeterminado es "PY2AND3"
No se usa y no hace nada.
|
py_test
Ver la fuente de la reglaopen_in_new
py_test(name, deps, srcs, data, args, compatible_with, deprecation, distribs, env, env_inherit, exec_compatible_with, exec_properties, features, flaky, imports, legacy_create_init, licenses, local, main, precompile, precompile_invalidation_mode, precompile_optimize_level, precompile_source_retention, pyc_collection, python_version, restricted_to, shard_count, size, srcs_version, stamp, tags, target_compatible_with, testonly, timeout, toolchains, visibility)
Argumentos
Atributos |
name |
Nombre: Obligatorio
Un nombre único para este objetivo.
|
deps
|
Lista de etiquetas; el valor predeterminado es []
Es la lista de bibliotecas adicionales que se deben vincular al destino.
Ver comentarios sobre
el [atributo `deps` generalmente definido por
rules](https://bazel.build/reference/be/common-definitions#typical-attributes).
Por lo general, son reglas "py_library".
Los destinos que solo proporcionan archivos de datos usados en el entorno de ejecución pertenecen al argumento "data"
.
|
srcs
|
Es una lista de etiquetas obligatoria.
Es la lista de archivos fuente de Python que se procesan para crear el destino. Esto incluye todo el código que se revisó y puede incluir archivos fuente generados. Los archivos .py pertenecen a "srcs" y los destinos de bibliotecas pertenecen a "deps". Otros archivos binarios que pueden ser necesarios en el tiempo de ejecución pertenecen a "data".
|
data
|
Es una lista de etiquetas. El valor predeterminado es [] .
Es la lista de archivos que necesita esta biblioteca en el tiempo de ejecución. Ver comentarios sobre
el [atributo “datos” definido normalmente por reglas](https://bazel.build/reference/be/common-definitions#typical-attributes).
No hay `py_embed_data` como, por ejemplo, `cc_embed_data` y `go_embed_data`.
Esto se debe a que Python tiene un concepto de recursos de entorno de ejecución.
|
imports
|
Lista de cadenas; el valor predeterminado es []
Lista de directorios de importación que se agregarán a PYTHONPATH.
Está sujeto a la sustitución "Make variable". Estos directorios de importación se agregarán
para esta regla y todas las reglas que dependen de ella (nota: no las reglas de las que depende esta
regla). Cada directorio se agregará a "PYTHONPATH" mediante las reglas "py_binary" que dependen de esta regla. Las cadenas son relativas a repo-runfiles-root.
No se permiten las rutas de acceso absolutas (rutas que comienzan con "/") ni las rutas de acceso que hacen referencia a una ruta de acceso
arriba de la raíz de ejecución, ya que se producirá un error.
|
legacy_create_init
|
Número entero (el valor predeterminado es -1 )
Establece si se deben crear implícitamente archivos "__init__.py" vacíos en el árbol de archivos de ejecución.
Estos se crean en todos los directorios que contienen código fuente de Python o se comparten
bibliotecas y todos los directorios superiores de esos directorios, excepto el repositorio
directorio raíz. El valor predeterminado, "-1" (automático), significa verdadero, a menos que se use `--incompatible_default_to_explicit_init_py". Si es falso, el usuario es responsable de crear archivos "__init__.py" (posiblemente vacíos) y agregarlos a "srcs" de los destinos de Python según sea necesario.
|
main
|
Etiqueta; el valor predeterminado es None
Opcional; el nombre del archivo fuente que es el punto de entrada principal de la
y mantener la integridad de su aplicación. Este archivo también debe estar enumerado en `srcs`. Si no se especifica,
En su lugar, se usa `name` con `.py` agregado. Si el argumento "nombre" no coincide con ninguno
nombre de archivo en `srcs`, se debe especificar `main`.
|
precompile
|
Cadena; el valor predeterminado es "inherit"
Si los archivos de origen py **para este destino** deben compilarse previamente.
Valores:
* "inherit": Determina el valor de la marca {flag}`--precompile`.
* "enabled": Compila los archivos fuente de Python en el tiempo de compilación. Ten en cuenta que
--precompile_add_to_runfiles afecta la manera en que se incluyen los archivos compilados en
un objeto binario descendente.
* "disabled": No compila los archivos fuente de Python en el tiempo de compilación.
* "if_generated_source": Compila archivos fuente de Python, pero solo si son archivos generados.
:::{seealso}
* La marca {flag}`--precompile`, que puede anular este atributo en algunos casos
y afectará a todos los destinos durante la compilación.
* El atributo {obj}`pyc_collection` para habilitar de forma transitiva la compilación previa por objetivo
* En los documentos de [Precompilación](precompilación), encontrarás una guía sobre el uso de esta función.
:::
|
precompile_invalidation_mode
|
Cadena; el valor predeterminado es "auto"
cómo se deben verificar los archivos precompilados para que estén actualizados con sus
archivos fuente. Los valores posibles son los siguientes:
* "auto": El valor efectivo se determinará automáticamente mediante otros parámetros de configuración de la compilación.
* "checked_hash": Usa el archivo pyc si el hash del archivo de origen coincide con el hash registrado en el archivo pyc. Esto es muy útil cuando se trabaja con código que
que puedes modificar.
* `unchecked_hash`: Siempre usa el archivo pyc. no verifiques el hash de pyc
al archivo fuente. Esto es muy útil cuando no se modificará el código.
Para obtener más información sobre los modos de invalidación de pyc, consulta https://docs.python.org/3/library/py_compile.html#py_compile.PycInvalidationMode.
|
precompile_optimize_level
|
Integer; el valor predeterminado es 0
El nivel de optimización para archivos precompilados.
Para obtener más información sobre los niveles de optimización, consulta la documentación del argumento "optimize" de la función "compile" en https://docs.python.org/3/library/functions.html#compile.
NOTA: El valor "-1" significa "intérprete actual", que será el intérprete que se use _en el tiempo de compilación cuando se generen los pycs_, no el intérprete que se use en el tiempo de ejecución cuando se ejecute el código.
|
precompile_source_retention
|
String; el valor predeterminado es "inherit"
Determina, cuando se compila un archivo de origen, si se mantiene en el resultado resultante o no. Los valores válidos son los siguientes:
* `here`: Hereda el valor de la marca {flag}`--precompile_source_retention`.
* `keep_source`: Incluye la fuente original de Python.
* "omit_source": No incluye la fuente de py original.
* `omit_if_generated_source`: Conservar la fuente original si es una fuente normal.
archivo, pero omítelo si es un archivo generado.
|
pyc_collection
|
Cadena; el valor predeterminado es "inherit"
Determina si se deben incluir manualmente los archivos pyc de las dependencias.
NOTA: Este parámetro de configuración solo es útil con {flag}`--precompile_add_to_runfiles=decided_elsewhere`.
Los valores válidos son los siguientes:
* "inherit": Hereda el valor de {flag}`--pyc_collection`.
* "include_pyc": Agrega archivos pyc de dependencias en el objeto binario (de
{obj}"PyInfo.transitive_pyc_files").
* "disabled": No agregues archivos pyc de dependencias de forma explícita. Ten en cuenta que los archivos pyc pueden provenir de dependencias si un destino los incluye como parte de sus archivos de ejecución (como cuando se usa {obj}`--precompile_add_to_runfiles=always`).
|
python_version
|
Cadena; el valor predeterminado es "PY3"
Difunto, sin uso, no hace nada.
|
srcs_version
|
String; el valor predeterminado es "PY2AND3"
Difunto, sin uso, no hace nada.
|
stamp
|
Integer; el valor predeterminado es 0
Establece si se debe codificar información de compilación en el objeto binario. Valores posibles:
* `stamp = 1`: Siempre marca la información de la compilación en el objeto binario, incluso en
Compilaciones `--nostamp`. **Se debe evitar este parámetro de configuración**, ya que podría eliminar
almacenamiento en caché remoto para el objeto binario
y cualquier acción descendente que dependa de él.
* `stamp = 0`: Siempre reemplaza la información de compilación con valores constantes. Esto le brinda
para un buen almacenamiento en caché
de resultados de compilación.
* `stamp = -1`: La incorporación de información de la compilación está controlada por el
la marca "--[no]stamp".
Los objetos binarios estampados no se vuelven a compilar, a menos que cambien sus dependencias.
ADVERTENCIA: El sello puede perjudicar el rendimiento de la compilación al reducir los aciertos de caché y debería
evitar, si es posible.
|
py_runtime
Ver la fuente de la reglaopen_in_new
py_runtime(name, bootstrap_template, compatible_with, coverage_tool, deprecation, distribs, exec_compatible_with, exec_properties, features, files, implementation_name, interpreter, interpreter_path, interpreter_version_info, pyc_tag, python_version, restricted_to, stage2_bootstrap_template, stub_shebang, tags, target_compatible_with, testonly, toolchains, visibility, zip_main_template)
Representa un entorno de ejecución de Python que se usa para ejecutar un código de Python.
Un objetivo `py_runtime` puede representar un *entorno de ejecución de plataforma* o una versión *en compilación
del entorno de ejecución.* El entorno de ejecución de la plataforma accede a un intérprete instalado por el sistema en un entorno
mientras que un entorno de ejecución en compilación apunta a un destino ejecutable que actúa como
el intérprete. En ambos casos, un "intérprete" cualquier objeto binario o archivo ejecutable
del wrapper que es capaz de ejecutar una secuencia de comandos de Python que se pasa en el comando
siguiendo las mismas convenciones que el intérprete de CPython estándar.
Por naturaleza, el entorno de ejecución de una plataforma no es hermético. Impone un requisito sobre
en la plataforma de destino
para que se ubique un intérprete en una ruta específica. Los
el tiempo de ejecución de la compilación puede ser hermético o no, dependiendo de si
un intérprete registrado o una secuencia de comandos wrapper que acceda al sistema
de un intérprete.
Ejemplo
```
load("@rules_python//python:py_runtime.bzl", "py_runtime")
py_runtime(
name = "python-2.7.12",
files = glob(["python-2.7.12/**"]),
intérprete = "python-2.7.12/bin/python",
)
py_runtime(
name = "python-3.6.0",
intérprete_path = "/opt/pyenv/versions/3.6.0/bin/python",
)
```
Argumentos
Atributos |
name |
Nombre: Obligatorio
Un nombre único para este destino.
|
bootstrap_template
|
Etiqueta (Label); el valor predeterminado es "@rules_python//python/private:bootstrap_template"
El archivo de plantilla de secuencia de comandos de arranque que se usará. Debe tener %python_binary%,
%workspace_name%, %main% y %imports%.
Esta plantilla, después de la expansión, se convierte en el archivo ejecutable que se usa para iniciar el proceso, por lo que es responsable de las acciones de arranque iniciales, como encontrar el intérprete de Python, los archivos de ejecución y la construcción de un entorno para ejecutar la aplicación de Python prevista.
Aunque actualmente este atributo es opcional, será obligatorio cuando el atributo
Las reglas de Python se quitan de Bazel.
Los nombres exactos de las variables expandidos son una API inestable y están sujetos a cambios.
La API se volverá más estable cuando las reglas de Python se quiten de Bazel.
a sí mismo.
Consulta @bazel_tools//tools/python:python_bootstrap_template.txt para obtener más variables.
|
coverage_tool
|
Etiqueta (Label); el valor predeterminado es None
Este es un destino que se debe usar para recopilar información de cobertura de código de los destinos {rule}`py_binary` y {rule}`py_test`.
Si se establece, el destino debe producir un solo archivo o ser un destino ejecutable.
La ruta de acceso al archivo único, o al ejecutable si el destino es ejecutable
Determina el punto de entrada para la herramienta de cobertura de Python. El objetivo y su
Los runfiles se agregarán a los runfiles cuando la cobertura esté habilitada.
Un intérprete de Python debe poder cargar el punto de entrada de la herramienta (p. ej., un archivo .py o .pyc). Debe aceptar los argumentos de línea de comandos de [`coverage.py`](https://coverage.readthedocs.io), al menos, los subcomandos "run" y "lcov".
|
files
|
Lista de etiquetas; el valor predeterminado es []
En el caso de un entorno de ejecución integrado, este es el conjunto de archivos que lo componen.
Estos archivos se agregarán a los archivos runfiles de los objetos binarios de Python que usen esta
tiempo de ejecución. Para un entorno de ejecución de plataforma, no se debe establecer este atributo.
|
implementation_name
|
Cadena; el valor predeterminado es ""
El nombre de implementación de Python (`sys.implementation.name`)
|
interpreter
|
Etiqueta; el valor predeterminado es None
Para un entorno de ejecución en la compilación, este es el destino que se invocará como intérprete. Integra
puede ser cualquiera de las siguientes opciones:
* Un solo archivo, que será el objeto binario del intérprete. Se supone que
los intérpretes son ejecutables independientes de un solo archivo o cualquier
los archivos de soporte se especifican en `files`.
* Un destino ejecutable. El ejecutable del destino será el objeto binario del intérprete.
Cualquier otro resultado predeterminado ("target.files") y runfiles de archivos simples ("runfiles.files") se incluirán automáticamente como si se especificaran en el atributo "files".
NOTA: Es posible que los archivos de ejecución del destino aún no se respeten o propaguen correctamente.
a los consumidores de la cadena de herramientas/interpretador, consulta
bazelbuild/rules_python/issues/1612
Para el entorno de ejecución de la plataforma (es decir, cuando se configura `interpreter_path`), este atributo debe
sin establecer.
|
interpreter_path
|
String; el valor predeterminado es ""
Para un entorno de ejecución de plataforma, esta es la ruta de acceso absoluta de un intérprete de Python en
en la plataforma seleccionada. Para un entorno de ejecución en la compilación, no se debe configurar este atributo.
|
interpreter_version_info
|
Diccionario: Cadena -> String; el valor predeterminado es {}
Información de la versión sobre el intérprete que proporciona este entorno de ejecución.
Si no se especifica, usa {obj}`--python_version`.
Las claves admitidas coinciden con los nombres de "sys.version_info". Si bien los valores de entrada son cadenas, la mayoría se convierten en números enteros. Las claves admitidas son las siguientes:
* major: int, el número de versión principal
* minor: int, el número de versión secundaria
* micro: int opcional, el número de versión micro
* releaselevel: str opcional, el nivel de lanzamiento
* serial: int opcional, el número de serie de la versión
:::{versionchanged} 0.36.0
{obj}`--python_version` determina el valor predeterminado.
:::
|
pyc_tag
|
String; el valor predeterminado es ""
Es una cadena opcional, la parte de la etiqueta de un nombre de archivo pyc, p. ej., el infijo "cpython-39" de "foo.cpython-39.pyc". Consulta PEP 3147. Si no se especifica, se calculará
a partir de `implementation_name` y de `interpreter_version_info`. Si no se indica pyc_tag
disponible, solo la generación de PIC sin fuente funcionará correctamente.
|
python_version
|
Cadena; el valor predeterminado es "PY3"
Indica si este entorno de ejecución es para la versión principal 2 o 3 de Python. Los valores válidos son "PY2" y "PY3". El valor predeterminado se controla con la marca `--incompatible_py3_is_default`.
Sin embargo, en el futuro, este atributo será obligatorio y no tendrá un valor
valor.
|
stage2_bootstrap_template
|
Etiqueta; el valor predeterminado es "@rules_python//python/private:stage2_bootstrap_template"
Es la plantilla que se debe usar cuando se habilita el inicio por dos etapas.
:::{seealso}
{obj}`PyRuntimeInfo.stage2_bootstrap_template` y {obj}`--bootstrap_impl`
:::
|
stub_shebang
|
Cadena; el valor predeterminado es "#!/usr/bin/env python3"
Expresión "shebang" que se agrega al principio de la secuencia de comandos de stub de Python de inicio que se usa cuando se ejecutan destinos {rule}`py_binary`.
Consulta https://github.com/bazelbuild/bazel/issues/8685 para obtener
motivación.
No se aplica a Windows.
|
zip_main_template
|
Etiqueta (Label); el valor predeterminado es "@rules_python//python/private:zip_main_template"
Es la plantilla que se usará para el archivo "__main__.py" de nivel superior de un archivo ZIP.
Este se convierte en el punto de entrada que se ejecuta cuando se ejecuta “python foo.zip”.
:::{seealso}
El campo {obj}`PyRuntimeInfo.zip_main_template`.
:::
|