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.
输入
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
. 必需。 允许的值:x86
、x64
。 默认值:x64
。
指定 Python 解释器的目标体系结构 (x86
或 x64
) 。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
此任务定义以下 输出变量,可在下游步骤、作业和阶段中使用。
pythonLocation
已安装 Python 分发版的目录。 在后续任务中使用它来访问此 Python 安装。
注解
使用此任务下载或选择要在代理上运行的 Python 版本,并选择性地将其添加到 PATH。
先决条件
- 安装了并行版本的 Python 的 Microsoft 托管代理 ,或具有
Agent.ToolsDirectory
配置 (的自承载代理,请参阅 常见问题解答) 。 - 自承载代理不支持下载 Python 版本。
如果在 中 Agent.ToolsDirectory
找不到 Python 版本,则此任务将失败。 可在此处找到可用于 Microsoft 托管代理的 Python 版本。
注意
Python x86 和 x64 版本适用于 Microsoft 托管 Windows 代理,但不适用于 Linux 或 macOS 代理。
从任务的 0.150 版本起,版本规范也将接受 pypy2
或 pypy3
。
从任务版本 0.213.1 起,版本规范也将接受 pypy2.x
或 pypy3.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
应为 x86
或 x64
。
tool files
应为解压缩的 Python 版本文件。
{platform}.complete
应是一个外观如 x86.complete
或 x64.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 安装。