UsePythonVersion@0 — używanie zadania w wersji 0 języka Python

To zadanie służy do pobierania lub wybierania wersji języka Python do uruchomienia na agencie i opcjonalnie dodania jej do ścieżki PATH.

Składnia

# 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.

Dane wejściowe

versionSpec - Specyfikacja wersji
string. Wymagane. Wartość domyślna: 3.x.

Określa zakres wersji lub dokładną wersję wersji języka Python do użycia przy użyciu składni zakresu wersji SemVer. Dowiedz się więcej o SemVer.


disableDownloadFromRegistry - Wyłączanie pobierania wydań z rejestru GitHub
boolean. Wartość domyślna: false.

Wyłącza pobieranie brakujących wersji języka Python z rejestru funkcji Github Actions. Ta wartość logiczna powinna być true tylko wtedy, gdy jest używana lokalna instalacja języka Python.


allowUnstable - Zezwalaj na pobieranie niestabilnych wersji
boolean. Opcjonalny. Użyj polecenia , gdy disableDownloadFromRegistry = false. Wartość domyślna: false.

Pobiera niestabilne wersje języka Python z rejestru wersji języka Python funkcji GitHub Actions , jeśli ustawiono wartość true.


githubToken - Token usługi GitHub dla rejestru GitHub Actions python
string. Opcjonalny. Użyj polecenia , gdy disableDownloadFromRegistry = false.

Określa token usługi GitHub, który wymusza limit żądań anonimowych w rejestrze wersji języka Python funkcji GitHub Actions. Pozostawienie tego pustego może spowodować błędy pobierania. Nie jest wymagane w przypadku korzystania z lokalnej instalacji języka Python.


addToPath - Dodaj do ścieżki
boolean. Wartość domyślna: true.

Poprzedza pobraną wersję języka Python do zmiennej środowiskowej PATH, aby udostępnić ją w kolejnych zadaniach lub skryptach bez używania zmiennej wyjściowej.


architecture - Architektura
string. Wymagane. Dozwolone wartości: x86, x64. Wartość domyślna: x64.

Określa architekturę docelową (x86 lub x64) interpretera języka Python.


Opcje sterowania zadania

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.

Zmienne wyjściowe

To zadanie definiuje następujące zmienne wyjściowe, które można używać w krokach podrzędnych, zadaniach i etapach.

pythonLocation
Katalog zainstalowanej dystrybucji języka Python. Użyj tej funkcji w kolejnych zadaniach, aby uzyskać dostęp do tej instalacji języka Python.

Uwagi

To zadanie służy do pobierania lub wybierania wersji języka Python do uruchomienia na agencie i opcjonalnie dodania jej do ścieżki PATH.

Wymagania wstępne

To zadanie zakończy się niepowodzeniem, jeśli w programie Agent.ToolsDirectorynie znaleziono żadnych wersji języka Python. Dostępne wersje języka Python dla agentów hostowanych przez firmę Microsoft można znaleźć tutaj.

Uwaga

Wersje x86 i x64 języka Python są dostępne w agentach systemu Windows hostowanych przez firmę Microsoft, ale nie w agentach systemu Linux lub macOS.

Zgodnie z wersją 0.150 zadania specyfikacje wersji będą również akceptowane pypy2 lub pypy3.

Zgodnie z wersją 0.213.1 zadania specyfikacje wersji będą również akceptowane pypy2.x lub pypy3.x.

Jeśli zadanie zakończy się pomyślnie, zmienna wyjściowa zadania będzie zawierać katalog instalacji języka Python:

Zrzut ekranu przedstawiający zmienną wyjściową.

Po uruchomieniu tego zadania z poleceniem "Dodaj do ścieżki" python polecenie w kolejnych skryptach będzie dotyczyć najwyższej dostępnej wersji interpretera zgodnego ze specyfikacją wersji i architekturą.

Wersje języka Python zainstalowane na obrazach z systemem Ubuntu i macOS hostowanym przez firmę Microsoft są zgodne ze strukturą symlinkowania dla systemów podobnych do unix zdefiniowanych w pep 394.

Na przykład python3.11 jest to rzeczywisty interpreter języka Python 3.11.

python3 jest symlinkowany do tego interpretera i python jest symlinkiem do tego symlinku.

Na obrazach systemu Windows hostowanych przez firmę Microsoft interpreter to tylko python.

W przypadku agentów hostowanych przez firmę Microsoft wersja x86 jest obsługiwana tylko w systemie Windows. Dzieje się tak, ponieważ system Windows może uruchamiać pliki wykonywalne skompilowane dla architektury x86 z podsystemem WoW64. Hostowane systemy ubuntu i hostowane w systemie macOS działają w 64-bitowych systemach operacyjnych i działają tylko w 64-bitowym języku Python.

Jak skonfigurować własnego agenta do korzystania z tego zadania?

Ważne

Pobieranie wersji języka Python nie jest obsługiwane w przypadku własnych agentów. Można używać tylko wstępnie zainstalowanych wersji.

Wymagana wersja języka Python musi zostać dodana do pamięci podręcznej narzędzi na własnym agencie, aby można było z niego korzystać. Zwykle pamięć podręczna narzędzi znajduje się w _work/_tool katalogu agenta. Alternatywnie ścieżka może zostać zastąpiona przez zmienną środowiskową AGENT_TOOLSDIRECTORY. W tym katalogu utwórz następującą strukturę katalogów na podstawie wersji języka Python:

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

Element version number powinien być zgodny z formatem 1.2.3. Element platform powinien mieć wartość x86 lub x64. Powinien tool files to być rozpakowany plik wersji języka Python. Powinien {platform}.complete to być plik 0 bajtów, który wygląda jak x86.complete lub x64.complete i po prostu oznacza, że narzędzie zostało poprawnie zainstalowane w pamięci podręcznej.

Kompletny i konkretny przykład przedstawia sposób, w jaki ukończone pobieranie języka Python 3.11.4 dla wersji x64 będzie wyglądać w pamięci podręcznej narzędzi:

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

Dowiedz się więcej o pamięci podręcznej narzędzi.

Aby skrypty działały tak jak w przypadku agentów hostowanych przez firmę Microsoft, należy użyć struktury łączenia symlinkowania z pep 394 w systemach podobnych do unix.

Należy również pamiętać, że osadzona wersja ZIP języka Python wymaga dodatkowej konfiguracji zainstalowanych modułów, w tym pip. Jeśli to możliwe, zalecamy użycie pełnego instalatora w celu uzyskania zgodnej z platformą pipinstalacji języka Python.

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa w Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń To zadanie jest uruchamiane przy użyciu następujących ograniczeń poleceń: ograniczone
Zmienne ustawialne To zadanie ma uprawnienia do ustawiania następujących zmiennych: pythonLocation, PATH
Wersja agenta 2.182.1 lub nowsza
Kategoria zadania Narzędzie
Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta Wszystkie obsługiwane wersje agentów.
Kategoria zadania Narzędzie