UsePythonVersion@0 - Utiliser la tâche Python version v0

Utilisez cette tâche pour télécharger ou sélectionner une version de Python à exécuter sur un agent et l’ajouter éventuellement à PATH.

Syntaxe

# 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.

Entrées

versionSpec - Spécification de version
string. Obligatoire. Valeur par défaut : 3.x.

Spécifie la plage de versions ou la version exacte d’une version de Python à utiliser, à l’aide de la syntaxe de la plage de versions de SemVer. En savoir plus sur SemVer.


disableDownloadFromRegistry - Désactiver le téléchargement de versions à partir du Registre GitHub
boolean. Valeur par défaut : false.

Désactive le téléchargement des versions python manquantes à partir du registre Github Actions. Cette valeur booléenne doit être true uniquement si vous utilisez une installation locale de Python.


allowUnstable - Autoriser le téléchargement de versions instables
boolean. facultatif. Utilisez quand disableDownloadFromRegistry = false. Valeur par défaut : false.

Télécharge des versions de Python instables à partir du registre des versions de Python Github Actions si la valeur est définie sur true.


githubToken - Jeton GitHub pour GitHub Actions registre Python
string. facultatif. Utilisez quand disableDownloadFromRegistry = false.

Spécifie le jeton GitHub qui applique la limite de demandes anonymes dans le registre des versions de Python Github Actions. Le fait de laisser ce champ vide peut entraîner des échecs de téléchargement. Non nécessaire si vous utilisez une installation locale de Python.


addToPath - Ajouter à PATH
boolean. Valeur par défaut : true.

Ajoute la version de Python récupérée à la variable d’environnement PATH pour la rendre disponible dans les tâches ou scripts suivants sans utiliser la variable de sortie.


architecture - Architecture
string. Obligatoire. Valeurs autorisées : x86, x64. Valeur par défaut : x64.

Spécifie l’architecture cible (x86 ou x64) de l’interpréteur Python.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Cette tâche définit les variables de sortie suivantes, que vous pouvez utiliser dans les étapes, les travaux et les étapes en aval.

pythonLocation
Répertoire de la distribution Python installée. Utilisez-le dans les tâches suivantes pour accéder à cette installation de Python.

Notes

Utilisez cette tâche pour télécharger ou sélectionner une version de Python à exécuter sur un agent et l’ajouter éventuellement à PATH.

Prérequis

  • Un agent hébergé par Microsoft avec des versions côte à côte de Python installées, ou un agent auto-hébergé avec Agent.ToolsDirectory configuré (voir FAQ).
  • Le téléchargement des versions de Python n’est pas pris en charge sur les agents auto-hébergés.

Cette tâche échoue si aucune version de Python n’est trouvée dans Agent.ToolsDirectory. Les versions Python disponibles sur les agents hébergés par Microsoft sont disponibles ici.

Notes

Les versions x86 et x64 de Python sont disponibles sur les agents Windows hébergés par Microsoft, mais pas sur les agents Linux ou macOS.

À compter de la version 0.150 de la tâche, les spécifications de version acceptent également pypy2 ou pypy3.

À partir de la version 0.213.1 de la tâche, les spécifications de version acceptent pypy2.x également ou pypy3.x.

Si la tâche se termine correctement, la variable de sortie de la tâche contient le répertoire de l’installation Python.

Capture d’écran de la variable de sortie.

Après avoir exécuté cette tâche avec « Ajouter à PATH », la commande dans les python scripts suivants est destinée à la version la plus élevée disponible de l’interpréteur correspondant à la spécification et à l’architecture de la version.

Les versions de Python installées sur les images Ubuntu et macOS hébergées par Microsoft suivent la structure de liaison de symlinking pour les systèmes de type Unix définis dans PEP 394.

Par exemple, python3.11 est l’interpréteur réel pour Python 3.11.

python3 est lié de manière symbolique à cet interpréteur et python est un lien symbolique vers ce lien symbolique.

Sur les images Windows hébergées par Microsoft, l’interpréteur est simplement python.

Pour les agents hébergés par Microsoft, x86 est pris en charge uniquement sur Windows. En effet, Windows peut exécuter des exécutables compilés pour l’architecture x86 avec le sous-système WoW64. Ubuntu hébergé et macOS hébergé exécutent des systèmes d’exploitation 64 bits et exécutent uniquement Python 64 bits.

Comment configurer un agent auto-hébergé pour utiliser cette tâche ?

Important

Le téléchargement des versions de Python n’est pas pris en charge sur les agents auto-hébergés. Vous pouvez uniquement utiliser des versions préinstallées.

La version de Python souhaitée doit être ajoutée au cache d’outils sur l’agent auto-hébergé afin que la tâche puisse l’utiliser. Normalement, le cache de l’outil se trouve sous le _work/_tool répertoire de l’agent ; sinon, le chemin d’accès peut être remplacé par la variable AGENT_TOOLSDIRECTORYd’environnement . Sous ce répertoire, créez la structure de répertoires suivante en fonction de votre version de Python :

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

le version number doit suivre le format de 1.2.3. le platform doit être x86 ou x64. le tool files doit être les fichiers de version de Python décompressés. le {platform}.complete doit être un fichier 0 octet qui ressemble à x86.complete ou à x64.complete et signifie simplement que l’outil a été correctement installé dans le cache.

À titre d’exemple complet et concret, voici à quoi ressemblerait un téléchargement terminé de Python 3.11.4 pour x64 dans le cache des outils :

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

En savoir plus sur le cache d’outils.

Pour que vos scripts fonctionnent comme ils le feraient sur des agents hébergés par Microsoft, utilisez la structure de liaison de symlinking de PEP 394 sur des systèmes de type Unix.

Notez également que la version ZIP intégrable de Python nécessite une configuration supplémentaire pour les modules installés, notamment pip. Si possible, nous vous recommandons d’utiliser le programme d’installation complet pour obtenir une pipinstallation Python compatible.

Spécifications

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Cette tâche s’exécute à l’aide des restrictions de commande suivantes : restricted
Variables settables Cette tâche est autorisée à définir les variables suivantes : pythonLocation, PATH
Version de l’agent 2.182.1 ou version ultérieure
Catégorie de la tâche Outil
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent Toutes les versions d’agent prises en charge.
Catégorie de la tâche Outil