Partager via


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 éventuellement l’ajouter à 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.

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 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 des 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 ne doit être true que si vous utilisez une installation locale de Python.


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

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


githubToken - jeton GitHub pour le registre Python GitHub Actions
string. Optionnel. Utilisez quand disableDownloadFromRegistry = false.

Spécifie le jeton GitHub qui applique la limite des requêtes anonymes dans le registre des versions de Github Actions python . Quitter ce vide peut entraîner des échecs de téléchargement. Non nécessaire si vous utilisez une installation locale de Python.


addToPath - Ajouter au chemin d’accès
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 en aval, les travaux et les étapes.

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

Remarques

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

Conditions préalables

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

Remarque

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, la spécification de version accepte également pypy2 ou pypy3.

À compter de la version 0.213.1 de la tâche, la spécification de version accepte également pypy2.x 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 de Python :

Capture d’écran de la variable de sortie.

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

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

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

python3 est symlinké à cet interpréteur, et python est un lien symbolique à ce lien symbolique.

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

Pour les agents hébergés par Microsoft, x86 est pris en charge uniquement sur Windows. Cela est dû au fait que 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 d’outils se trouve sous le répertoire _work/_tool de l’agent ; sinon, le chemin d’accès peut être remplacé par la variable d’environnement AGENT_TOOLSDIRECTORY. Sous ce répertoire, créez la structure de répertoires suivante basée sur votre version de Python :

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

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

En guise d’exemple complet et concret, voici comment un téléchargement complet de Python 3.11.4 pour x64 se présente dans le cache d’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 les agents hébergés par Microsoft, utilisez la structure de liaison symbolique de PEP 394 sur des systèmes de type Unix.

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

Spécifications

Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Cette tâche s’exécute à l’aide des restrictions de commande suivantes: restreint
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 tâche Outil
Besoin Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande N'importe quel
variables settables N'importe quel
Version de l’agent Toutes les versions de l’agent prises en charge.
Catégorie de tâche Outil