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

使用 SemVer 的版本范围语法指定要使用的 Python 版本的版本范围或确切版本。 详细了解 SemVer


disableDownloadFromRegistry - 禁止从 GitHub 注册表下载版本
boolean. 默认值:false

禁止从 Github Actions 注册表下载缺少的 Python 版本。 仅当使用 Python 的本地安装时,此布尔值才应 true 为 。


allowUnstable - 允许下载不稳定的版本
boolean. 可选。 在 时 disableDownloadFromRegistry = false使用 。 默认值:false

如果设置为 true,则从 Github Actions Python 版本注册表下载不稳定的 Python 版本


githubToken - 用于GitHub Actions Python 注册表的 GitHub 令牌
string. 可选。 在 时 disableDownloadFromRegistry = false使用 。

指定在 Github Actions python 版本注册表中强制实施匿名请求限制的 GitHub 令牌。 将此留空可能会导致下载失败。 如果使用 Python 的本地安装,则不需要。


addToPath - 添加到 PATH
boolean. 默认值:true

将检索到的 Python 版本追加到 PATH 环境变量,使其在后续任务或脚本中可用,而无需使用输出变量。


architecture - 建筑
string. 必需。 允许的值:x86x64。 默认值:x64

指定 Python 解释器的目标体系结构 (x86x64) 。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

此任务定义以下 输出变量,可在下游步骤、作业和阶段中使用。

pythonLocation
已安装 Python 分发版的目录。 在后续任务中使用它来访问此 Python 安装。

注解

使用此任务下载或选择要在代理上运行的 Python 版本,并选择性地将其添加到 PATH。

先决条件

如果在 中 Agent.ToolsDirectory找不到 Python 版本,则此任务将失败。 可在此处找到可用于 Microsoft 托管代理的 Python 版本。

注意

Python x86 和 x64 版本适用于 Microsoft 托管 Windows 代理,但不适用于 Linux 或 macOS 代理。

从任务的 0.150 版本起,版本规范也将接受 pypy2pypy3

从任务版本 0.213.1 起,版本规范也将接受 pypy2.xpypy3.x

如果任务成功完成,任务的输出变量将包含 Python 的安装目录:

输出变量的屏幕截图。

使用“添加到 PATH”运行此任务后,后续脚本中的 python 命令将适用于与版本规格和体系结构匹配的最高可用解释器版本。

安装在 Microsoft 托管的 Ubuntu 和 macOS 映像上的 Python 版本遵循 PEP 394 中定义的类似 Unix 系统的符号链接结构。

例如, python3.11 是 Python 3.11 的实际解释器。

python3 符号链接到该解释器,并且 python 是指向该符号链接的符号链接。

在 Microsoft 托管 Windows 映像上,解释器只是 python

对于 Microsoft 托管代理,x86 仅在 Windows 上受支持。 这是因为 Windows 可以使用 WoW64 子系统运行为 x86 体系结构编译的可执行文件。Hosted 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 应为 x86x64tool files 应为解压缩的 Python 版本文件。 {platform}.complete 应是一个外观如 x86.completex64.complete 的 0 字节文件,仅用于表示该工具已正确安装在缓存中。

作为一个完整且具体的示例,下面是完成的 Python 3.11.4 for x64 下载在工具缓存中的外观:

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

详细了解 工具缓存

若要使脚本在 Microsoft 托管的代理上正常工作,请在类似 Unix 的系统上使用 PEP 394 中的符号链接结构。

另请注意,Python 的可嵌入 ZIP 版本需要 为已安装的模块(包括 pip)进行额外的配置。 如果可能,建议使用完整安装程序来获取兼容 pip 的 Python 安装。

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 此任务使用以下命令 限制运行:受限
可设置变量 此任务有权 设置以下变量:pythonLocation、PATH
代理版本 2.182.1 或更高版本
任务类别 工具
要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 所有支持的代理版本。
任务类别 工具