Поделиться через


UsePythonVersion@0. Использование задачи Python версии v0

Используйте эту задачу, чтобы скачать или выбрать версию Python для запуска в агенте и при необходимости добавить ее в PATH.

Синтаксис

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

Входные данные

спецификации версий versionSpec -
string. Обязательное. Значение по умолчанию: 3.x.

Указывает диапазон версий или точную версию используемой версии Python с помощью синтаксиса диапазона версий SemVer. Дополнительные сведения о SemVer.


disableDownloadFromRegistry - Отключить скачивание выпусков из реестра GitHub
boolean. Значение по умолчанию: false.

Отключает загрузку отсутствующих версий Python из реестра Github Actions. Логическое значение должно быть true только при использовании локальной установки Python.


allowUnstable - Разрешить скачивание нестабильных выпусков
boolean. Необязательно. Используется при disableDownloadFromRegistry = false. Значение по умолчанию: false.

Загружает нестабильные версии Python из реестра версий Python Github Actions, если задано значение true.


githubToken - токен GitHub для реестра Python GitHub Actions
string. Необязательно. Используется при disableDownloadFromRegistry = false.

Указывает токен GitHub, который применяет ограничение анонимных запросов в реестре версий Python Github Actions. Выход из этого пустого может привести к сбоям загрузки. Не требуется при использовании локальной установки Python.


addToPath - Добавление в ПУТЬ
boolean. Значение по умолчанию: true.

Предварительно добавляет полученную версию Python в переменную среды PATH, чтобы сделать ее доступной в последующих задачах или сценариях без использования выходной переменной.


architecture - архитектуры
string. Обязательное. Допустимые значения: x86, x64. Значение по умолчанию: x64.

Указывает целевую архитектуру (x86 или x64) интерпретатора Python.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.

pythonLocation
Каталог установленного дистрибутива Python. Используйте это в последующих задачах для доступа к этой установке Python.

Замечания

Используйте эту задачу, чтобы скачать или выбрать версию Python для запуска в агенте и при необходимости добавить ее в PATH.

Предпосылки

  • агента, размещенного корпорацией Майкрософт, с установленными параллельно версиями Python, или локальным агентом с настроенными Agent.ToolsDirectory (см. часто задаваемые вопросы).
  • Скачивание версий Python не поддерживается для локальных агентов.

Эта задача завершится ошибкой, если версии Python не найдены в Agent.ToolsDirectory. Доступные версии Python для агентов, размещенных корпорацией Майкрософт, можно найти здесь.

Примечание.

Версии x86 и x64 Python доступны в агентах Windows, размещенных в Майкрософт, но не в агентах Linux или macOS.

По состоянию на версию 0.150 задачи спецификация версии также будет принимать pypy2 или pypy3.

По состоянию на версию 0.213.1 задачи спецификация версии также будет принимать pypy2.x или pypy3.x.

Если задача завершится успешно, выходная переменная задачи будет содержать каталог установки Python:

снимок экрана выходной переменной.

После выполнения этой задачи с параметром "Добавить в PATH" команда python в последующих сценариях будет иметь самую доступную версию интерпретатора, соответствующую спецификации и архитектуре версии.

Версии Python, установленные на образах Ubuntu и macOS, размещенных корпорацией Майкрософт, соответствуют структуре симлинирования для систем, таких как Unix, определенных в PEP 394.

Например, python3.11 является фактическим интерпретатором для Python 3.11.

python3 соединяется с этим интерпретатором, а python — это симлинок с этой символикой.

На образах Windows, размещенных в Майкрософт, интерпретатор просто python.

Для агентов, размещенных корпорацией Майкрософт, x86 поддерживается только в Windows. Это связано с тем, что Windows может запускать исполняемые файлы, скомпилированные для архитектуры x86 с подсистемой WoW64. Размещенная ubuntu и размещенная macOS выполняют 64-разрядные операционные системы и запускают только 64-разрядный Python.

Как настроить локальный агент для использования этой задачи?

Это важно

Скачивание версий Python не поддерживается для локальных агентов. Вы можете использовать только предварительно установленные версии.

Требуемая версия Python должна быть добавлена в кэш инструментов в локальном агенте, чтобы задача может использовать ее. Как правило, кэш инструментов находится в каталоге _work/_tool агента; кроме того, путь можно переопределить переменной среды AGENT_TOOLSDIRECTORY. В этом каталоге создайте следующую структуру каталогов на основе версии Python:

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

version number должны соответствовать формату 1.2.3. platform должны быть x86 или x64. tool files должны быть распакованными файлами версии Python. {platform}.complete должен быть 0-байтовый файл, который выглядит как x86.complete или x64.complete и просто указывает, что средство установлено в кэше правильно.

Как полный и конкретный пример, вот как завершенная загрузка Python 3.11.4 для x64 будет выглядеть в кэше инструментов:

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

Дополнительные сведения о кэша инструментов.

Чтобы скрипты работали так же, как и в размещенных в Майкрософт агентах, используйте структуру симлинирования из PEP 394 в системах, таких как Unix.

Кроме того, обратите внимание, что для внедренного ZIP-выпуска Python требуется дополнительная конфигурация для установленных модулей, включая pip. По возможности рекомендуется использовать полный установщик, чтобы получить установку Python, совместимую с pip.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Эта задача выполняется с помощью следующих ограничений команд : ограничено.
переменные settable Эта задача имеет разрешение на задать следующие переменные: pythonLocation, PATH
Версия агента 2.182.1 или более поздней версии
Категория задач Инструмент
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента Все поддерживаемые версии агента.
Категория задач Инструмент