Freigeben über


UsePythonVersion@0 – Python-Version v0-Aufgabe 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.

Eingänge

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

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


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

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


allowUnstable - Zulassen des Downloads instabiler Versionen
boolean. Wahlfrei. Wird verwendet, wenn disableDownloadFromRegistry = false. Standardwert: false.

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


githubToken - GitHub-Token für GitHub Actions Python-Registrierung
string. Wahlfrei. Wird verwendet, wenn disableDownloadFromRegistry = false.

Gibt das GitHub-Token an, das den Grenzwert für anonyme Anforderungen in der Registrierung Github Actions Python-Versionenerzwingt. Wenn Sie dieses leere Element verlassen, 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 Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Ausgabevariablen

Mit dieser Aufgabe werden die folgenden Ausgabevariablendefiniert, die Sie in nachgeschalteten Schritten, 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 einem selbst gehosteten Agent mit Agent.ToolsDirectory konfiguriert (siehe HÄUFIG gestellte Fragen).
  • Das Herunterladen von Python-Versionen wird für selbst gehostete 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, aber nicht unter Linux- oder macOS-Agents verfügbar.

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

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

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

Screenshot der Ausgabevariable.

Nachdem Sie diese Aufgabe mit "Zu PATH hinzufügen" ausgeführt haben, wird der Befehl python in nachfolgenden Skripts für die höchste verfügbare Version des Interpreters verwendet, die mit der Versionsspezifikation und -architektur übereinstimmen.

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

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

python3 ist mit diesem Dolmetscher verknüpft, und python ist ein Symlink zu diesem Symlink.

Auf den von Microsoft gehosteten Windows-Images ist der Dolmetscher nur 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. Gehostetes Ubuntu und gehostetes macOS führen 64-Bit-Betriebssysteme aus und führen nur 64-Bit-Python aus.

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

Wichtig

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

Die gewünschte Python-Version muss dem Toolcache im selbst gehosteten Agent hinzugefügt werden, damit die Aufgabe sie verwenden kann. Normalerweise befindet sich der Toolcache unter dem _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

Die version number sollte dem Format von 1.2.3folgen. Die platform sollte entweder x86 oder x64sein. Die tool files sollte die entzippten Python-Versionsdateien sein. Die {platform}.complete sollte eine 0-Byte-Datei sein, die wie x86.complete oder x64.complete aussieht und nur angibt, dass das Tool im Cache ordnungsgemäß installiert wurde.

Als vollständiges und konkretes Beispiel: Ein abgeschlossener Download von Python 3.11.4 für x64 würde im Toolcache aussehen:

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

Erfahren Sie mehr über den Toolcache.

Verwenden Sie die Symlinking-Struktur von PEP 394 auf Unix-ähnlichen Systemen, damit Ihre Skripts wie bei von Microsoft gehosteten Agents funktionieren.

Beachten Sie außerdem, dass die einbettbare ZIP-Version von Python zusätzliche Konfiguration für installierte Moduleerfordert, einschließlich pip. Wenn möglich, empfehlen wir die Verwendung des vollständigen Installers, um eine pip-kompatible Python-Installation zu erhalten.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Diese Aufgabe wird mit den folgenden Befehlseinschränkungenausgeführt: restricted
Settable-Variablen Diese Aufgabe verfügt über die Berechtigung zum festlegen die folgenden Variablen: pythonLocation, PATH
Agentversion 2.182.1 oder höher
Vorgangskategorie Werkzeug
Anforderung BESCHREIBUNG
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion Alle unterstützten Agentversionen.
Vorgangskategorie Werkzeug