分享方式:


UsePythonVersion@0 - 使用 Python 版本 v0 工作

使用此工作下載或選取要在代理程式上執行的 Python 版本,並選擇性地將其新增至 PATH。

Syntax

# 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 版本。 只有當 true 使用 Python 的本機安裝時,這個布林值才應該。


allowUnstable - 允許下載不穩定的版本
boolean. 選擇性。 使用 時 disableDownloadFromRegistry = false 。 預設值:false

如果設定為 true ,則會從Github Actions Python 版本登錄下載不穩定的 Python 版本。


githubToken - 適用于 GitHub Actions python 登錄的 GitHub 權杖
string. 選擇性。 使用 時 disableDownloadFromRegistry = false

指定 GitHub 權杖,以強制執行 Github Actions Python 版本登錄中的匿名要求限制。 保留此空白可能會導致下載失敗。 如果使用 Python 的本機安裝,則不需要。


addToPath - 新增至 PATH
boolean. 預設值:true

在 PATH 環境變數前面加上擷取的 Python 版本,使其可在後續的工作或腳本中使用,而不需使用輸出變數。


architecture - 建築
string. 必要。 允許值:x86x64。 預設值:x64

指定 Python 解譯器的目標架構 (x86x64) 。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性

輸出變數

此工作會定義下列 輸出變數,您可以在下游步驟、作業和階段中使用。

pythonLocation
已安裝 Python 散發套件的目錄。 在後續工作中使用此專案來存取此 Python 安裝。

備註

使用此工作下載或選取要在代理程式上執行的 Python 版本,並選擇性地將其新增至 PATH。

必要條件

  • 已安裝並存 Python 版本的 Microsoft 裝載代理程式 ,或具有已設定之自我裝載的代理程式 Agent.ToolsDirectory (,請參閱 常見問題) 。
  • 自我裝載代理程式不支援下載 Python 版本。

如果在 中 Agent.ToolsDirectory 找不到 Python 版本,此工作將會失敗。 您可以在 Microsoft裝載的代理程式上找到可用的 Python 版本。

注意

x86 和 x64 版本的 Python 可在 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 裝載的代理程式,只有在 Windows 上才支援 x86。 這是因為 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.3platform應該是 x86x64tool files應該是解壓縮的 Python 版本檔案。 {platform}.complete應該是看起來像 x86.completex64.complete 的 0 位元組檔案,而且只是表示工具已正確安裝在快取中。

以下是 x64 版 Python 3.11.4 的完成下載如何查看工具快取的完整和具體範例:

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

深入瞭解 工具快取

若要讓您的腳本在 Microsoft 裝載的代理程式上如常運作,請使用類似 Unix 系統上 PEP 394 的符號連結結構。

另請注意,Python 的可內嵌 ZIP 版本需要 安裝模組的額外設定,包括 pip 。 可能的話,我們建議使用 完整的安裝程式 來取得 pip 相容的 Python 安裝。

規格需求

需求 描述
管線類型 YAML、傳統組建、傳統版本
在 上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 此工作會使用下列 命令限制執行:受限制
可設定變數 此工作具有 設定下列變數的許可權:pythonLocation、PATH
代理程式版本 2.182.1 或更新版本
工作類別 工具
需求 描述
管線類型 YAML、傳統組建、傳統版本
執行于 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 所有支援的代理程式版本。
工作類別 工具