UsePythonVersion@0 - Utilizar a tarefa V0 da versão python
Utilize esta tarefa para transferir ou selecionar uma versão do Python para ser executada num agente e, opcionalmente, adicioná-la ao PATH.
Syntax
# 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 da versão
string
. Obrigatório. Valor predefinido: 3.x
.
Especifica o intervalo de versões ou a versão exata de uma versão do Python a utilizar com a sintaxe do intervalo de versões do SemVer. Saiba mais sobre o SemVer.
disableDownloadFromRegistry
- Desativar a transferência de versões a partir do registo do GitHub
boolean
. Valor predefinido: false
.
Desativa a transferência de versões python em falta a partir do registo do Github Actions. Este valor booleano só deve ser true
se utilizar uma instalação local do Python.
allowUnstable
- Permitir a transferência de versões instáveis
boolean
. Opcional. Utilize quando disableDownloadFromRegistry = false
. Valor predefinido: false
.
Transfere versões instáveis do Python a partir do registo de versões python do Github Actions , se estiver definido como true
.
githubToken
- Token do GitHub para GitHub Actions registo python
string
. Opcional. Utilize quando disableDownloadFromRegistry = false
.
Especifica o token do GitHub que impõe o limite de pedidos anónimos no registo de versões python do Github Actions. Deixar esta opção vazia pode causar falhas de transferência. Não é necessário se utilizar uma instalação local do Python.
addToPath
- Adicionar ao PATH
boolean
. Valor predefinido: true
.
Prepara a versão do Python obtida para a variável de ambiente PATH para a disponibilizar em tarefas ou scripts subsequentes sem utilizar a variável de saída.
architecture
- Arquitetura
string
. Obrigatório. Valores permitidos: x86
, x64
. Valor predefinido: x64
.
Especifica a arquitetura de destino (x86
ou x64
) do interpretador python.
Opções de controlo de tarefas
Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.
Variáveis de saída
Esta tarefa define as seguintes variáveis de saída, que pode consumir em passos, tarefas e fases a jusante.
pythonLocation
O diretório da distribuição do Python instalada. Utilize-o em tarefas subsequentes para aceder a esta instalação do Python.
Observações
Utilize esta tarefa para transferir ou selecionar uma versão do Python para ser executada num agente e, opcionalmente, adicioná-la ao PATH.
Pré-requisitos
- Um agente alojado pela Microsoft com versões lado a lado do Python instaladas ou um agente autoalojado com
Agent.ToolsDirectory
configurado (veja FAQ). - A transferência de versões python não é suportada em agentes autoalojados.
Esta tarefa falhará se não forem encontradas versões do Python no Agent.ToolsDirectory
. As versões do Python disponíveis em agentes alojados na Microsoft podem ser encontradas aqui.
Nota
As versões x86 e x64 do Python estão disponíveis em agentes windows alojados pela Microsoft, mas não em agentes Linux ou macOS.
A partir da versão 0.150 da tarefa, as especificações da versão também aceitarão pypy2
ou pypy3
.
A partir da versão 0.213.1 da tarefa, as especificações da versão também aceitarão 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:
Depois de executar esta tarefa com "Adicionar ao PATH", o python
comando nos scripts subsequentes será para a versão mais elevada disponível do intérprete que corresponde à especificação e arquitetura da versão.
As versões do Python instaladas nas imagens do Ubuntu e macOS alojadas na Microsoft seguem a estrutura de symlinking para sistemas semelhantes a Unix definidos no PEP 394.
Por exemplo, python3.11
é o intérprete real do Python 3.11.
python3
está ligado a esse intérprete e python
é uma symlink para esse symlink.
Nas imagens do Windows alojadas na Microsoft, o intérprete é apenas python
.
Para agentes alojados na Microsoft, o x86 é suportado apenas no Windows. Isto acontece porque o Windows pode executar executáveis compilados para a arquitetura x86 com o subsistema WoW64. O Ubuntu alojado e o macOS alojado executam sistemas operativos de 64 bits e executam apenas Python de 64 bits.
Como posso configurar um agente autoalojado para utilizar esta tarefa?
Importante
A transferência de versões python não é suportada em agentes autoalojados. Só pode utilizar versões pré-instaladas.
A versão do Python pretendida tem de ser adicionada à cache de ferramentas no agente autoalojado para que a tarefa possa utilizá-la. Normalmente, a cache de ferramentas está localizada no _work/_tool
diretório do agente; em alternativa, o caminho pode ser substituído pela variável AGENT_TOOLSDIRECTORY
de ambiente . Nesse diretório, crie a seguinte estrutura de diretório com base na sua versão do Python:
$AGENT_TOOLSDIRECTORY/
Python/
{version number}/
{platform}/
{tool files}
{platform}.complete
Deve version number
seguir o formato de 1.2.3
.
Deve platform
ser x86
ou x64
.
Devem tool files
ser os ficheiros de versão de Python deszipados.
Deve {platform}.complete
ser um ficheiro de 0 bytes com o aspeto x86.complete
ou x64.complete
e significa que a ferramenta foi instalada corretamente na cache.
Como exemplo completo e concreto, eis o aspeto de uma transferência completa do Python 3.11.4 para x64 na cache de ferramentas:
$AGENT_TOOLSDIRECTORY/
Python/
3.11.4/
x64/
{tool files}
x64.complete
Saiba mais sobre a cache de ferramentas.
Para que os scripts funcionem como em agentes alojados na Microsoft, utilize a estrutura de symlinking do PEP 394 em sistemas semelhantes a Unix.
Tenha também em atenção que a versão ZIP incorporada do Python requer configuração adicional para módulos instalados, incluindo pip
. Se possível, recomendamos que utilize o instalador completo para obter uma pip
instalação python compatível.
Requisitos
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente, DeploymentGroup |
Exigências | Nenhuma |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Esta tarefa é executada com as seguintes restrições de comandos: restritas |
Variáveis de tabelas definidas | Esta 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 | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente, DeploymentGroup |
Exigências | Nenhuma |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa. |
Restrições de comandos | Qualquer |
Variáveis de tabelas definidas | Qualquer |
Versão do agente | Todas as versões de agente suportadas. |
Categoria da tarefa | Ferramenta |