使用 Python 版本任务

Azure DevOps Services

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

需求

先决条件

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

 备注

x86 和 x64 版本的 Python 在 Microsoft 托管的 Windows 代理上可用,但在 Linux 或 macOS 代理上不可用。

YAML 代码片段

YAML复制

# Use Python version
# Use the specified version of Python from the tool cache, optionally adding it to the PATH
- task: UsePythonVersion@0
  inputs:
    #versionSpec: '3.x' 
    #addToPath: true 
    #architecture: 'x64' # Options: x86, x64 (this argument applies only on Windows agents)

参数

参数描述
versionSpec
版本规范
(所需的) 版本范围或要使用的 Python 版本的确切版本。
默认值:303.x
addToPath
添加到 PATH
(必需) 是否将检索到的 Python 版本追加到 PATH 环境变量,使其在后续任务或脚本中可用,而无需使用输出变量。
默认值:30true
architecture
体系结构
(需要) Python 解释器的目标体系结构 (x86、x64) 。 x86 仅在 Windows 上受支持。
默认值:30x64

从任务的 0.150 版起,版本规格也将接受 pypy2 或 pypy3接受。

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

备注

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

在 Microsoft 托管的 Ubuntu 和 macOS 映像上安装的 Python 版本遵循 PEP 394 中定义的类似 Unix 的系统符号链接结构。 例如,对于 Python 3.7, python3.7 是实际解释器。 python3 符号链接到该解释器,并且 python 是该符号链接的符号链接。

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

对于 Microsoft 托管的代理,x86 仅在 Windows 上受支持。 这是因为 Windows 可以使用 WoW64 子系统为 x86 体系结构运行编译的可执行文件。 托管 Ubuntu 和托管 macOS 运行 64 位操作系统,仅运行 64 位 Python。

开源

此任务是 GitHub 上的开源任务。 欢迎提供反馈和建议。

常见问题解答

在哪里可以了解有关工具安装程序的详细信息?

有关工具安装程序和示例的说明,请参阅 工具安装程序

需要使用代理吗?

至少需要一个代理才能运行生成或发布。

我遇到了问题。 如何对其进行故障排除?

请查看排查生成和发布问题

我无法选择默认代理池,无法将生成或发布排队。 如何修复此问题?

请查看代理池

我的 NuGet 推送任务失败,出现“错误: 无法获取本地颁发者证书”错误。 如何解决此问题?

可通过添加受信任的根证书来解决此问题。 可将环境变量 NODE_EXTRA_CA_CERTS=file 添加到生成代理,也可在管道中添加任务变量 NODE.EXTRA.CA.CERTS=file。 有关此变量的更多详细信息,请参阅 Node.js 文档。 有关在管道中设置变量的说明,请参阅在管道中设置变量

如何配置自承载代理以使用此任务?

所需的 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.6.4 for x64 的完整下载在工具缓存中的外观:

复制

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

有关工具缓存的更多详细信息,请参阅 此处

为了使脚本在 Microsoft 托管的代理上正常工作,我们建议遵循类似 Unix 的系统上 PEP 394 的符号链接结构。

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


显示较少选项

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个乖乖码字的程序猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值