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.
输入
disableDownloadFromRegistry
-
禁用从 GitHub 注册表下载版本
boolean
。 默认值:false
。
禁用从 Github Actions 注册表下载缺少的 Python 版本。 仅当使用 Python 的本地安装时,才应 true
此布尔值。
allowUnstable
-
允许下载不稳定版本
boolean
。 可选。 当 disableDownloadFromRegistry = false
时使用。 默认值:false
。
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。
先决条件
-
Microsoft托管代理, 安装了并行版本的 Python,或者配置了
Agent.ToolsDirectory
的自承载代理(请参阅 常见问题解答)。 - 自承载代理不支持下载 python 版本。
如果在 Agent.ToolsDirectory
中找不到 Python 版本,则此任务将失败。 可在此处 找到Microsoft托管代理上的可用 Python 版本。
注释
x86 和 x64 版本的 Python 在 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 体系结构编译的可执行文件。托管 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 for x64 的完整下载在工具缓存中的外观:
$AGENT_TOOLSDIRECTORY/
Python/
3.11.4/
x64/
{tool files}
x64.complete
详细了解 工具缓存。
若要使脚本像在Microsoft托管的代理上一样工作,请在类似 Unix 的系统上使用来自 PEP 394 的符号链接结构。
另请注意,Python 的可嵌入 ZIP 版本需要为已安装的模块 pip
额外的配置。 如果可能,我们建议使用 完整安装程序 来获取与 pip
兼容的 Python 安装。