UsePythonVersion@0: Task "Python Version v0 verwenden"

Verwenden Sie diese Aufgabe, um eine Python-Version herunterzuladen oder auszuwählen, die auf einem Agent ausgeführt werden soll, und fügen Sie sie optional zu PATH hinzu.

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.

Eingaben

versionSpec - Versionsspezifikation
string. Erforderlich. Standardwert. 3.x.

Gibt den Versionsbereich oder die genaue Version einer zu verwendenden Python-Version mithilfe der Versionsbereichssyntax von SemVer an. Erfahren Sie mehr über SemVer.


disableDownloadFromRegistry - Deaktivieren des Herunterladens von Releases aus der GitHub-Registrierung
boolean. Standardwert. false.

Deaktiviert das Herunterladen fehlender Python-Versionen aus der Github Actions-Registrierung. Dieser boolesche Wert sollte nur sein, wenn eine lokale Installation von Python verwendet wird true .


allowUnstable - Herunterladen von instabilen Releases zulassen
boolean. Optional. Verwenden Sie , wenn disableDownloadFromRegistry = false. Standardwert. false.

Lädt instabile Python-Versionen aus der Github Actions Python-Versionsregistrierung herunter, wenn auf truefestgelegt ist.


githubToken - GitHub-Token für GitHub Actions Python-Registrierung
string. Optional. Verwenden Sie , wenn disableDownloadFromRegistry = false.

Gibt das GitHub-Token an, das den Grenzwert für anonyme Anforderungen in der GitHub Actions-Pythonversionsregistrierung erzwingt. Wenn sie leer bleiben, kann es zu Downloadfehlern kommen. Nicht erforderlich, wenn Sie eine lokale Installation von Python verwenden.


addToPath - Zu PATH hinzufügen
boolean. Standardwert. true.

Stellt die abgerufene Python-Version der PATH-Umgebungsvariablen voran, um sie in nachfolgenden Aufgaben oder Skripts verfügbar zu machen, ohne die Ausgabevariable zu verwenden.


architecture - Architektur
string. Erforderlich. Zulässige Werte: x86, x64. Standardwert. x64.

Gibt die Zielarchitektur (x86 oder x64) des Python-Interpreters an.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Diese Aufgabe definiert die folgenden Ausgabevariablen, die Sie in Downstreamschritten, Aufträgen und Phasen verwenden können.

pythonLocation
Das Verzeichnis der installierten Python-Verteilung. Verwenden Sie dies in nachfolgenden Aufgaben, um auf diese Installation von Python zuzugreifen.

Bemerkungen

Verwenden Sie diese Aufgabe, um eine Python-Version herunterzuladen oder auszuwählen, die auf einem Agent ausgeführt werden soll, und fügen Sie sie optional zu PATH hinzu.

Voraussetzungen

  • Ein von Microsoft gehosteter Agent mit parallel installierten Python-Versionen oder ein selbstgehostetem Agent mit Agent.ToolsDirectory konfiguriertem Agent (siehe HÄUFIG gestellte Fragen).
  • Das Herunterladen von Python-Versionen wird für selbstgehostete Agents nicht unterstützt.

Diese Aufgabe schlägt fehl, wenn keine Python-Versionen in Agent.ToolsDirectorygefunden werden. Verfügbare Python-Versionen auf von Microsoft gehosteten Agents finden Sie hier.

Hinweis

x86- und x64-Versionen von Python sind auf von Microsoft gehosteten Windows-Agents verfügbar, jedoch nicht auf Linux- oder macOS-Agents.

Ab Version 0.150 der Aufgabe sind für die Versionsangabe auch pypy2 oder pypy3 zulässig.

Ab Version 0.213.1 der Aufgabe akzeptiert pypy2.x die Versionsspezifikation auch oder pypy3.x.

Wenn die Aufgabe erfolgreich abgeschlossen wurde, enthält die Ausgabevariable des Tasks das Verzeichnis der Python-Installation:

Screenshot der Ausgabevariablen.

Nachdem Sie diese Aufgabe mit „Zu PATH hinzufügen“ ausgeführt haben, bezieht sich der Befehl python in nachfolgenden Skripts auf die höchste verfügbare Version des Interpreters, die der Versionsangabe und der Architektur entspricht.

Die Auf den von Microsoft gehosteten Ubuntu- und macOS-Images installierten Python-Versionen folgen der Symlinking-Struktur für Unix-ähnliche Systeme, die in PEP 394 definiert sind.

Beispielsweise python3.11 ist der eigentliche Interpreter für Python 3.11.

python3 ist mit diesem Interpreter symbolisch verknüpft, und python ist eine symbolische Verknüpfung mit dieser symbolischen Verknüpfung.

Auf den von Microsoft gehosteten Windows-Images ist der Interpreter einfach python.

Für von Microsoft gehostete Agents wird x86 nur unter Windows unterstützt. Dies liegt daran, dass Windows ausführbare Dateien ausführen kann, die für die x86-Architektur mit dem WoW64-Subsystem kompiliert wurden. Hosted Ubuntu und Hosted macOS führen 64-Bit-Betriebssysteme und nur 64-Bit-Python aus.

Wie kann ich einen selbstgehosteten Agent für die Verwendung dieser Aufgabe konfigurieren?

Wichtig

Das Herunterladen von Python-Versionen wird für selbstgehostete Agents nicht unterstützt. Sie dürfen nur vorinstallierte Versionen verwenden.

Die gewünschte Python-Version muss dem Toolcache auf dem selbstgehosteten Agent hinzugefügt werden, damit die Aufgabe sie verwenden kann. Normalerweise befindet sich der Toolcache im _work/_tool Verzeichnis des Agents. Alternativ kann der Pfad von der Umgebungsvariablen AGENT_TOOLSDIRECTORYüberschrieben werden. Erstellen Sie unter diesem Verzeichnis die folgende Verzeichnisstruktur basierend auf Ihrer Python-Version:

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

version number sollte das Format von 1.2.3 aufweisen. platform sollte entweder x86 oder x64 sein. Bei tool files sollte es sich um die entzippten Python-Versionsdateien handeln. {platform}.complete sollte eine 0 Byte große Datei sein, die wie x86.complete oder x64.complete aussieht und lediglich angibt, dass das Tool ordnungsgemäß im Cache installiert wurde.

Als vollständiges und konkretes Beispiel sehen Sie hier, wie ein abgeschlossener Download von Python 3.11.4 für x64 im Toolcache aussehen würde:

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

Erfahren Sie mehr über den Toolcache.

Damit Ihre Skripts wie auf von Microsoft gehosteten Agents funktionieren, verwenden Sie die symlinking-Struktur von PEP 394 auf Unix-ähnlichen Systemen.

Beachten Sie auch, dass die einbettbare ZIP-Version von Python eine zusätzliche Konfiguration für installierte Module erfordert, einschließlich pip. Es wird empfohlen, möglichst das vollständige Installationsprogramm zu verwenden, um eine pip-kompatible Python-Installation zu erhalten.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Diese Aufgabe wird mit den folgenden Befehlseinschränkungen ausgeführt: restricted
Setzbare Variablen Diese Aufgabe verfügt über die Berechtigung zum Festlegen der folgenden Variablen: pythonLocation, PATH
Agent-Version 2.182.1 oder höher
Aufgabenkategorie Tool
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassisches Release
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version Alle unterstützten Agent-Versionen.
Aufgabenkategorie Tool