Uso de la tarea Versión de Python
Azure Pipelines
Use esta tarea para seleccionar una versión de Python para ejecutarla en un agente y, opcionalmente, agrégrela a PATH.
Peticiones
None
Requisitos previos
- Un agente hospedado por Microsoft con versiones en paralelo de Python instaladas o un agente auto hospedado con Agent.ToolsDirectory configurado (consulte las preguntas más frecuentes).
Esta tarea producirá un error si no se encuentra ninguna versión de Python en Agent.ToolsDirectory. Las versiones de Python disponibles en los agentes hospedados por Microsoft se pueden encontrar aquí.
Nota
Las versiones x86 y x64 de Python están disponibles en agentes de Windows hospedados por Microsoft, pero no en agentes linux o macOS.
Fragmento de código YAML
# Use Python version
# Use the specified version of Python from the tool cache, optionally adding it to the PATH
- task: UsePythonVersion@0
inputs:
#versionSpec: '3.x'
#addToPath: true
#architecture: 'x64' # Options: x86, x64 (this argument applies only on Windows agents)
Argumentos
| Argumento | Descripción |
|---|---|
versionSpecEspecificación de versión |
(Obligatorio) Intervalo de versiones o versión exacta de una versión de Python que se va a usar. Valor predeterminado: 3.x |
addToPathAgregar a PATH |
(Obligatorio) Si anteponer la versión recuperada de Python a la variable de entorno PATH para que esté disponible en las tareas o scripts posteriores sin usar la variable de salida. Valor predeterminado: true |
architectureArchitecture |
(Obligatorio) La arquitectura de destino (x86, x64) del intérprete de Python. x86 solo se admite en Windows. Valor predeterminado: x64 |
A partir de la versión 0.150 de la tarea, la especificación de versión también pypy2 aceptará o pypy3 .
Si la tarea se completa correctamente, la variable de salida de la tarea contendrá el directorio de la instalación de Python:

Comentarios
Después de ejecutar esta tarea con "Agregar a PATH", el comando de los scripts posteriores será para la versión más alta disponible del intérprete que coincida con la especificación y la python arquitectura de la versión.
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 de tipo Unix definidos en PEP 394.
Por ejemplo, para Python 3.7, python3.7 es el intérprete real.
python3 está vinculado 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 simplemente python .
En el caso de los agentes hospedados por Microsoft, x86 solo se admite en Windows. Esto se debe Windows ejecutar ejecutables compilados para la arquitectura x86 con el subsistema WoW64. Ubuntu hospedado y macOS hospedado ejecutan sistemas operativos de 64 bits y solo ejecutan Python de 64 bits.
Código Abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.
Preguntas más frecuentes
¿Dónde puedo obtener más información sobre los instaladores de herramientas?
Para obtener una explicación de los instaladores de herramientas y ejemplos, vea Instaladores de herramientas.
¿Necesito un agente?
Necesita al menos un agente para ejecutar la compilación o versión.
Tengo problemas. ¿Cómo puedo solucionarlos?
Vea Solución de problemas de compilación y versión.
No se puede seleccionar un grupo de agentes predeterminado y no se puede poner en cola la compilación o versión. ¿Cómo puedo corregirlo?
Vea Grupos de agentes.
La tarea de envío de cambios de NuGet genera el error siguiente: "Error: no se puede obtener el certificado del emisor local". ¿Cómo lo puedo corregir?
Esto se puede corregir si se añade un certificado raíz de confianza. Puede agregar la variable de entorno NODE_EXTRA_CA_CERTS=file al agente de compilación, o bien la variable de tarea NODE.EXTRA.CA.CERTS=file en la canalización. Vea la documentación de Node.js para obtener más detalles sobre esta variable. Consulte Establecimiento de variables en una canalización para obtener instrucciones sobre cómo establecer una variable en la canalización.
¿Cómo se puede configurar un agente auto hospedado para usar esta tarea?
La versión de Python deseada tendrá que agregarse a la caché de herramientas en el agente auto hospedado para que la tarea la use. Normalmente, la caché de herramientas se encuentra en el directorio del agente o la ruta de acceso se puede _work/_tool invalidar mediante la variable de entorno AGENT_TOOLSDIRECTORY . 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
debe version number seguir el formato de 1.2.3 .
debe platform ser x86 o x64 .
debe tool files ser los archivos de versión de Python descomprimido.
debe ser un archivo de 0 bytes similar a o y simplemente indica que la herramienta se ha instalado correctamente {platform}.completex86.complete en la memoria x64.complete caché.
Como ejemplo completo y concreto, este es el aspecto que tendría una descarga completa de Python 3.6.4 para x64 en la caché de herramientas:
$AGENT_TOOLSDIRECTORY/
Python/
3.6.4/
x64/
{tool files}
x64.complete
Para obtener más detalles sobre la caché de herramientas, vea aquí.
Para que los scripts funcionen como lo harían en los agentes hospedados por Microsoft, se recomienda seguir la estructura de vínculo simbólico de PEP 394 en sistemas de tipo Unix.
Tenga en cuenta también que la versión ZIP insertable de Python requiere un esfuerzo adicional para configurar los módulos instalados,incluido . Si es posible, se recomienda usar el instalador completo para obtener una instalación de Python compatible.