Udostępnij za pośrednictwem


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

Użyj tego zadania, aby pobrać lub wybrać wersję języka Python do uruchomienia na agencie i opcjonalnie dodać ją do ścieżki.

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.

Dane wejściowe

versionSpec - wersji
string. To jest wymagane. Wartość domyślna: 3.x.

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


disableDownloadFromRegistry - Wyłącz pobieranie wersji 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 w przypadku korzystania z lokalnej instalacji 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 Github Actions, jeśli ustawiono wartość true.


githubToken - token usługi GitHub dla rejestru języka Python funkcji GitHub Actions
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 github Actions. Pozostawienie tego pustego może spowodować błędy pobierania. Nie jest to konieczne w przypadku korzystania z lokalnej instalacji języka Python.


addToPath - Dodaj do PATH
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. To jest 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 kontroli 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

Użyj tego zadania, aby pobrać lub wybrać wersję języka Python do uruchomienia na agencie i opcjonalnie dodać ją do ścieżki.

Wymagania wstępne

  • agent hostowany przez firmę Microsoft z zainstalowanymi równoległymi wersjami języka Python lub własnym agentem ze skonfigurowanym Agent.ToolsDirectory (zobacz często zadawane pytania ).
  • Pobieranie wersji języka Python nie jest obsługiwane w przypadku własnych agentów.

To zadanie zakończy się niepowodzeniem, jeśli nie znaleziono wersji języka Python w Agent.ToolsDirectory. Dostępne wersje języka Python na agentach hostowanych przez firmę Microsoft można znaleźć tutaj.

Uwaga

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

W wersji 0.150 zadania specyfikacje wersji będą również akceptować pypy2 lub pypy3.

W wersji 0.213.1 zadania specyfikacje wersji będą również akceptować 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 za pomocą polecenia "Dodaj do ścieżki" polecenie python 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ą łączenia systemów przypominających system Unix zdefiniowanych w PEP 394.

Na przykład python3.11 jest rzeczywistym interpreterem języka Python 3.11.

python3 jest symlinkowany do tego interpretera, a python jest symlinkiem do tego sylinku.

Na obrazach systemu Windows hostowanych przez firmę Microsoft interpreter jest po prostu 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 uruchamiają tylko 64-bitowy język 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 katalogu _work/_tool agenta; alternatywnie ścieżkę można zastąpić 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

version number powinien być zgodny z formatem 1.2.3. platform powinien być x86 lub x64. tool files powinny być rozpakowane pliki wersji języka Python. {platform}.complete powinien być plikiem 0 bajtów, który wygląda jak x86.complete lub x64.complete i oznacza, że narzędzie zostało poprawnie zainstalowane w pamięci podręcznej.

Kompletny i konkretny przykład przedstawia sposób, w jaki ukończono pobrać środowisko Python 3.11.4 dla środowiska 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ędzia .

Aby skrypty działały tak jak w przypadku agentów hostowanych przez firmę Microsoft, należy użyć struktury łączenia symlinkingu z PEP 394 w systemach przypominających system Unix.

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

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Żaden
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 ustawiane To zadanie ma uprawnienia do ustawić następujące zmienne: pythonLocation, PATH
Wersja agenta 2.182.1 lub nowsza
Kategoria zadań Narzędzie
Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Żaden
możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
ograniczenia poleceń Jakikolwiek
zmienne ustawiane Jakikolwiek
Wersja agenta Wszystkie obsługiwane wersje agentów.
Kategoria zadań Narzędzie