UsePythonVersion@0 – Usar a tarefa versão v0 do Python

Use essa tarefa para baixar ou selecionar uma versão do Python para ser executada em um agente e, opcionalmente, adicioná-la ao PATH.

Sintaxe

# 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 - Especificação de versão
string. Obrigatórios. Valor padrão: 3.x.

Especifica o intervalo de versão ou a versão exata de uma versão do Python a ser usada, usando a sintaxe de intervalo de versão do SemVer. Saiba mais sobre o SemVer.


disableDownloadFromRegistry - Desabilitar o download de versões do Registro do GitHub
boolean. Valor padrão: false.

Desabilita o download de versões ausentes do Python do Registro do Github Actions. Esse booliano só deve ser true se estiver usando uma instalação local do Python.


allowUnstable - Permitir o download de versões instáveis
boolean. Opcional. Use quando disableDownloadFromRegistry = false. Valor padrão: false.

Baixa versões instáveis do Python do registro de versões do Python do Github Actions , se definido truecomo .


githubToken - Token do GitHub para GitHub Actions registro do Python
string. Opcional. Use quando disableDownloadFromRegistry = false.

Especifica o token do GitHub que impõe o limite de solicitações anônimas no registro de versões do Python do Github Actions. Deixar isso vazio pode causar falhas de download. Não é necessário se estiver usando uma instalação local do Python.


addToPath - Adicionar a PATH
boolean. Valor padrão: true.

Anexa a versão do Python recuperada à variável de ambiente PATH para disponibilizá-la em tarefas ou scripts subsequentes sem usar a variável de saída.


architecture - Arquitetura
string. Obrigatórios. Valores Permitidos: x86 e x64. Valor padrão: x64.

Especifica a arquitetura de destino (x86 ou x64) do interpretador do Python.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Essa tarefa define as variáveis de saída a seguir, que você pode consumir em etapas downstream, trabalhos e estágios.

pythonLocation
O diretório da distribuição do Python instalada. Use isso em tarefas subsequentes para acessar esta instalação do Python.

Comentários

Use essa tarefa para baixar ou selecionar uma versão do Python para ser executada em um agente e, opcionalmente, adicioná-la ao PATH.

Pré-requisitos

  • Um agente hospedado pela Microsoft com versões lado a lado do Python instaladas ou um agente auto-hospedado com Agent.ToolsDirectory configurado (consulte perguntas frequentes).
  • Não há suporte para o download de versões do Python em agentes auto-hospedados.

Essa tarefa falhará se nenhuma versão do Python for encontrada no Agent.ToolsDirectory. As versões disponíveis do Python em agentes hospedados pela Microsoft podem ser encontradas aqui.

Observação

As versões x86 e x64 do Python estão disponíveis em agentes do Windows hospedados pela Microsoft, mas não em agentes Linux ou macOS.

Da versão 0.150 em diante da tarefa, a especificação de versão também aceitará pypy2 ou pypy3.

A partir da versão 0.213.1 da tarefa, a especificação de versão também aceitará pypy2.x ou pypy3.x.

Se a tarefa for concluída com êxito, a variável de saída da tarefa conterá o diretório da instalação do Python:

Captura de tela da variável de saída.

Depois de executar essa tarefa com "Adicionar a PATH", o comando python nos scripts subsequentes será para a versão mais alta disponível do interpretador que corresponde à especificação e à arquitetura da versão.

As versões do Python instaladas nas imagens do Ubuntu e macOS hospedadas pela Microsoft seguem a estrutura de symlinking para sistemas semelhantes ao Unix definidos no PEP 394.

Por exemplo, python3.11 é o interpretador real do Python 3.11.

python3 é vinculado a esse interpretador e python é um symlink para esse symlink.

Nas imagens do Windows hospedadas pela Microsoft, o interpretador é apenas python.

Para agentes hospedados pela Microsoft, o x86 tem suporte apenas no Windows. Isso ocorre porque o Windows pode executar executáveis compilados para a arquitetura x86 com o subsistema WoW64. O Ubuntu hospedado e o macOS hospedado executam sistemas operacionais de 64 bits e executam apenas o Python de 64 bits.

Como posso configurar um agente auto-hospedado para usar essa tarefa?

Importante

Não há suporte para o download de versões do Python em agentes auto-hospedados. Você só pode usar versões pré-instaladas.

A versão desejada do Python precisa ser adicionada ao cache de ferramentas no agente auto-hospedado para que a tarefa possa usá-la. Normalmente, o cache de ferramentas está localizado no _work/_tool diretório do agente; como alternativa, o caminho pode ser substituído pela variável AGENT_TOOLSDIRECTORYde ambiente . Nesse diretório, crie a seguinte estrutura de diretório com base em sua versão do Python:

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

O version number deve seguir o formato de 1.2.3. O platform deve ser x86 ou x64. O tool files deve ser os arquivos de versão do Python descompactados. O {platform}.complete deve ser um arquivo de 0 bytes semelhante x86.complete a ou x64.complete e apenas significa que a ferramenta foi instalada no cache corretamente.

Como um exemplo completo e concreto, veja como um download concluído do Python 3.11.4 para x64 ficaria no cache de ferramentas:

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

Saiba mais sobre o cache de ferramentas.

Para fazer com que seus scripts funcionem como em agentes hospedados pela Microsoft, use a estrutura de symlinking do PEP 394 em sistemas semelhantes ao Unix.

Observe também que a versão ZIP inserível do Python requer configuração extra para módulos instalados, incluindo pip. Se possível, recomendamos usar o instalador completo para obter uma instalação do Python compatível com o pip.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Executa em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Essa tarefa é executada usando as seguintes restrições de comando: restrito
Variáveis configuráveis Essa tarefa tem permissão para definir as seguintes variáveis: pythonLocation, PATH
Versão do agente 2.182.1 ou superior
Categoria da tarefa Ferramenta
Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente Todas as versões do agente com suporte.
Categoria da tarefa Ferramenta