Reglas de Python

Informar un problema Ver fuente Por la noche · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Reglas

py_binary

Ver el código fuente de la regla
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 regla
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 regla
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 regla
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`. :::