UsePythonVersion@0: uso de la tarea versión v0 de Python

Use esta tarea para descargar o seleccionar una versión de Python para ejecutarse en un agente y, opcionalmente, agréguela a PATH.

Sintaxis

# Use Python version v0
# Use the specified version of Python from the tool cache, optionally adding it to the PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #disableDownloadFromRegistry: false # boolean. Disable downloading releases from the GitHub registry. Default: false.
    #allowUnstable: false # boolean. Optional. Use when disableDownloadFromRegistry = false. Allow downloading unstable releases. Default: false.
    #githubToken: # string. Optional. Use when disableDownloadFromRegistry = false. GitHub token for GitHub Actions python registry. 
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.
# Use Python version v0
# Use the specified version of Python from the tool cache, optionally adding it to the PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.
# Use Python Version v0
# Retrieves the specified version of Python from the tool cache. Optionally add it to PATH.
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.x' # string. Required. Version spec. Default: 3.x.
    #addToPath: true # boolean. Add to PATH. Default: true.
  # Advanced
    architecture: 'x64' # 'x86' | 'x64'. Required. Architecture. Default: x64.

Entradas

versionSpec - Especificación de versión
string. Obligatorio. Valor predeterminado: 3.x.

Especifica el intervalo de versiones o la versión exacta de una versión de Python que se va a usar mediante la sintaxis del intervalo de versiones de SemVer. Más información sobre SemVer.


disableDownloadFromRegistry - Deshabilitación de la descarga de versiones desde el registro de GitHub
boolean. Valor predeterminado: false.

Deshabilita la descarga de versiones de Python que faltan en el registro de Acciones de GitHub. Este valor booleano solo debe ser true si se usa una instalación local de Python.


allowUnstable - Permitir la descarga de versiones inestables
boolean. Opcional. Use cuando disableDownloadFromRegistry = false. Valor predeterminado: false.

Descarga versiones inestables de Python del registro de versiones de Python de Acciones de GitHub si se establece en true.


githubToken - Token de GitHub para Acciones de GitHub registro de Python
string. Opcional. Use cuando disableDownloadFromRegistry = false.

Especifica el token de GitHub que aplica el límite de solicitudes anónimas en el registro de versiones de Python de Acciones de GitHub. Dejar este vacío puede provocar errores de descarga. No es necesario si se usa una instalación local de Python.


addToPath - Agregar a PATH
boolean. Valor predeterminado: true.

Antepone la versión de Python recuperada a la variable de entorno PATH para que esté disponible en tareas o scripts posteriores sin usar la variable de salida.


architecture - Arquitectura
string. Obligatorio. Valores permitidos: x86, x64. Valor predeterminado: x64.

Especifica la arquitectura de destino (x86 o x64) del intérprete de Python.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Esta tarea define las siguientes variables de salida, que puede consumir en pasos, trabajos y fases de bajada.

pythonLocation
Directorio de la distribución de Python instalada. Úselo en tareas posteriores para acceder a esta instalación de Python.

Comentarios

Use esta tarea para descargar o seleccionar una versión de Python para ejecutarse en un agente y, opcionalmente, agréguela a PATH.

Requisitos previos

Esta tarea producirá un error si no se encuentra ninguna versión de Python en Agent.ToolsDirectory. Las versiones disponibles de Python en agentes hospedados por Microsoft se pueden encontrar aquí.

Nota:

Las versiones x86 y x64 de Python están disponibles en los agentes de Windows hospedados por Microsoft, pero no en los agentes de Linux o macOS.

A partir de la versión 0.150 de la tarea, la especificación de versión también aceptará pypy2 o pypy3.

A partir de la versión 0.213.1 de la tarea, la especificación de versión también aceptará pypy2.x o pypy3.x.

Si la tarea se completa correctamente, la variable de salida de la tarea contendrá el directorio de la instalación de Python:

Captura de pantalla de la variable de salida.

Después de ejecutar esta tarea con "Agregar a PATH", el comando python de los scripts posteriores será para la versión más alta disponible del intérprete que coincida con la especificación de versión y con la arquitectura.

Las versiones de Python instaladas en las imágenes de Ubuntu y macOS hospedadas por Microsoft siguen la estructura de vínculo simbólico para sistemas similares a Unix definidos en PEP 394.

Por ejemplo, python3.11 es el intérprete real de Python 3.11.

python3 es un vínculo simbólico a ese intérprete y python es un vínculo simbólico a ese vínculo simbólico.

En las imágenes de Windows hospedadas por Microsoft, el intérprete es python.

En el caso de los agentes hospedados por Microsoft, x86 solo se admite en Windows. Esto se debe a que Windows puede ejecutar ejecutables compilados para la arquitectura x86 con el subsistema WoW64. Ubuntu hospedado y MacOS hospedado ejecutan sistemas operativos de 64 bits y ejecutan solo Python de 64 bits.

¿Cómo puedo configurar un agente autohospedado para usar esta tarea?

Importante

No se admite la descarga de versiones de Python en agentes autohospedados. Solo puede usar versiones preinstaladas.

La versión deseada de Python debe agregarse a la memoria caché de herramientas en el agente autohospedado para que la tarea pueda usarla. Normalmente, la caché de herramientas se encuentra en el _work/_tool directorio del agente; como alternativa, la variable AGENT_TOOLSDIRECTORYde entorno puede invalidar la ruta de acceso . En ese directorio, cree la siguiente estructura de directorios basada en la versión de Python:

$AGENT_TOOLSDIRECTORY/
    Python/
        {version number}/
            {platform}/
                {tool files}
            {platform}.complete

version number debe seguir el formato de 1.2.3. platform debe ser x86 o x64. tool files deben ser los archivos de versión de Python descomprimidos. {platform}.complete debe ser un archivo de 0 bytes similar a x86.complete o x64.complete, y significa que la herramienta se ha instalado correctamente en la memoria caché.

Como ejemplo completo y concreto, aquí se muestra cómo una descarga completa de Python 3.11.4 para x64 buscaría en la memoria caché de herramientas:

$AGENT_TOOLSDIRECTORY/
    Python/
        3.11.4/
            x64/
                {tool files}
            x64.complete

Obtenga más información sobre la memoria caché de herramientas.

Para que los scripts funcionen como lo harían en los agentes hospedados por Microsoft, use la estructura de vínculo simbólico de PEP 394 en sistemas similares a Unix.

Tenga en cuenta también que la versión ZIP insertable de Python requiere una configuración adicional para los módulos instalados, incluido pip. Si es posible, se recomienda usar el instalador completo para obtener una instalación de Python compatible con pip.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Esta tarea se ejecuta con las siguientes restricciones de comandos: restringido
Variables que se pueden establecer Esta tarea tiene permiso para establecer las siguientes variables: pythonLocation, PATH
Versión del agente 2.182.1 o superior
Categoría de la tarea: Herramienta
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente Todas las versiones de agente compatibles.
Categoría de la tarea: Herramienta