UsePythonVersion@0 - Python versie v0-taak gebruiken

Gebruik deze taak om een versie van Python te downloaden of te selecteren die op een agent moet worden uitgevoerd en voeg deze eventueel toe aan 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.

Invoerwaarden

versionSpec - Versiespecificatie
string. Vereist. Standaardwaarde: 3.x.

Hiermee geeft u het versiebereik of de exacte versie van een Python-versie die moet worden gebruikt, met behulp van de syntaxis van het versiebereik van SemVer. Meer informatie over SemVer.


disableDownloadFromRegistry - Het downloaden van releases uit het GitHub-register uitschakelen
boolean. Standaardwaarde: false.

Hiermee schakelt u het downloaden van ontbrekende Python-versies uit het Github Actions-register uit. Deze booleaanse waarde mag alleen worden true gebruikt als u een lokale installatie van Python gebruikt.


allowUnstable - Het downloaden van instabiele releases toestaan
boolean. Optioneel. Gebruik wanneer disableDownloadFromRegistry = false. Standaardwaarde: false.

Downloadt instabiele Python-versies uit het register met Python-versies van Github Actions indien ingesteld op true.


githubToken - GitHub-token voor GitHub Actions Python-register
string. Optioneel. Gebruik wanneer disableDownloadFromRegistry = false.

Hiermee geeft u het GitHub-token op dat de limiet voor anonieme aanvragen afdwingt in het register met Python-versies van Github Actions. Als u dit leeg laat, kan dit leiden tot downloadfouten. Niet nodig als u een lokale installatie van Python gebruikt.


addToPath - Toevoegen aan PAD
boolean. Standaardwaarde: true.

Hiermee wordt de opgehaalde Python-versie voorbereid op de omgevingsvariabele PATH om deze beschikbaar te maken in volgende taken of scripts zonder gebruik te maken van de uitvoervariabele.


architecture - Architectuur
string. Vereist. Toegestane waarden: x86, x64. Standaardwaarde: x64.

Hiermee geeft u de doelarchitectuur (x86 of x64) van de Python-interpreter op.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Deze taak definieert de volgende uitvoervariabelen, die u kunt gebruiken in downstreamstappen, taken en fasen.

pythonLocation
De map van de geïnstalleerde Python-distributie. Gebruik dit in volgende taken om toegang te krijgen tot deze installatie van Python.

Opmerkingen

Gebruik deze taak om een versie van Python te downloaden of te selecteren die op een agent moet worden uitgevoerd en voeg deze eventueel toe aan PATH.

Vereisten

  • Een door Microsoft gehoste agent waarop naast elkaar versies van Python zijn geïnstalleerd, of een zelf-hostende agent met Agent.ToolsDirectory geconfigureerd (zie Veelgestelde vragen).
  • Het downloaden van Python-versies wordt niet ondersteund op zelf-hostende agents.

Deze taak mislukt als er geen Python-versies worden gevonden in Agent.ToolsDirectory. Beschikbare Python-versies op door Microsoft gehoste agents vindt u hier.

Notitie

x86- en x64-versies van Python zijn beschikbaar op Door Microsoft gehoste Windows-agents, maar niet op Linux- of macOS-agents.

Vanaf versie 0.150 van de taak accepteert pypy2 de versiespecificatie ook of pypy3.

Vanaf versie 0.213.1 van de taak accepteert pypy2.x versiespecificatie ook of pypy3.x.

Als de taak is voltooid, bevat de uitvoervariabele van de taak de map van de Python-installatie:

Schermopname van uitvoervariabele.

Na het uitvoeren van deze taak met 'Toevoegen aan PAD' is de python opdracht in volgende scripts voor de hoogst beschikbare versie van de interpreter die overeenkomt met de versiespecificatie en -architectuur.

De versies van Python die zijn geïnstalleerd op de door Microsoft gehoste Ubuntu- en macOS-installatiekopieën volgen de symlinkingstructuur voor Unix-achtige systemen die zijn gedefinieerd in PEP 394.

Is bijvoorbeeld python3.11 de werkelijke interpreter voor Python 3.11.

python3 is symlinked met die interpreter en python is een symlink naar die symlink.

Op de door Microsoft gehoste Windows-installatiekopieën is de interpreter alleen python.

Voor door Microsoft gehoste agents wordt x86 alleen ondersteund in Windows. Dit komt doordat Windows uitvoerbare bestanden kan uitvoeren die zijn gecompileerd voor de x86-architectuur met het WoW64-subsysteem. Gehoste Ubuntu en gehoste macOS voeren 64-bits besturingssystemen uit en alleen 64-bits Python.

Hoe kan ik een zelf-hostende agent configureren om deze taak te gebruiken?

Belangrijk

Het downloaden van Python-versies wordt niet ondersteund op zelf-hostende agents. U mag alleen vooraf geïnstalleerde versies gebruiken.

De gewenste Python-versie moet worden toegevoegd aan de hulpprogrammacache op de zelf-hostende agent, zodat de taak deze kan gebruiken. Normaal gesproken bevindt de toolcache zich in de _work/_tool map van de agent. Het pad kan ook worden overschreven door de omgevingsvariabele AGENT_TOOLSDIRECTORY. Maak onder die map de volgende mapstructuur op basis van uw Python-versie:

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

De version number moet de indeling van 1.2.3volgen. De platform moet of x64zijnx86. De tool files moeten de uitgepakte Python-versiebestanden zijn. De {platform}.complete moet een bestand van 0 bytes zijn dat eruitziet als x86.complete of x64.complete en alleen aantekent dat het hulpprogramma correct in de cache is geïnstalleerd.

Als een volledig en concreet voorbeeld ziet u hier hoe een voltooide download van Python 3.11.4 voor x64 eruit zou zien in de hulpprogrammacache:

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

Meer informatie over de hulpprogrammacache.

Als u uw scripts wilt laten werken zoals ze zouden werken op door Microsoft gehoste agents, gebruikt u de symlinking-structuur van PEP 394 op Unix-achtige systemen.

Houd er ook rekening mee dat de insluitbare ZIP-release van Python extra configuratie vereist voor geïnstalleerde modules, waaronder pip. Indien mogelijk raden we u aan het volledige installatieprogramma te gebruiken om een pipcompatibele Python-installatie te krijgen.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Deze taak wordt uitgevoerd met behulp van de volgende opdrachtbeperkingen: beperkt
Instelbare variabelen Deze taak is gemachtigd om de volgende variabelen in te stellen: pythonLocation, PATH
Agentversie 2.182.1 of hoger
Taakcategorie Hulpprogramma
Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie Alle ondersteunde agentversies.
Taakcategorie Hulpprogramma