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


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

Используйте эту задачу, чтобы скачать или выбрать версию 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 для GitHub Actions реестра Python
string. Необязательный элемент. Используйте при disableDownloadFromRegistry = false.

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


addToPath - Добавить в PATH
boolean. Значение по умолчанию: true.

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


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

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


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

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

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

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

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

Комментарии

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

Предварительные требования

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

Примечание

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

Начиная с версии 0.150 задачи, спецификация версии также принимает pypy2 или pypy3.

Начиная с версии 0.213.1 задачи, спецификация версии также принимает pypy2.x или pypy3.x.

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

Снимок экрана: выходная переменная.

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

Версии Python, установленные в образах Ubuntu и macOS, размещенных в Microsoft, соответствуют структуре символьных ссылок для unix-подобных систем, определенных в PEP 394.

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

python3 имеет символьную связь с этим интерпретатором и python является символьной ссылкой на этот символ.

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

Для агентов, размещенных в Майкрософт, x86 поддерживается только в Windows. Это связано с тем, что Windows может запускать исполняемые файлы, скомпилированные для архитектуры x86 с подсистемой WoW64. Размещенные ubuntu и hosted 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 для 64-разрядных систем в кэше инструментов:

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

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

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

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

Требования

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