共用方式為


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.

輸入

versionSpec - 版本規格
string。 必須的。 預設值:3.x

使用 SemVer 的版本範圍語法,指定要使用之 Python 版本的版本範圍或確切版本。 深入瞭解 SemVer


disableDownloadFromRegistry - 停用從 GitHub 登錄下載版本
boolean。 預設值:false

停用從 Github Actions 登錄下載遺漏的 Python 版本。 如果使用 Python 的本機安裝,這個布林值應該只 true


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

如果設為 ,請從 true


githubToken - GitHub Actions Python 登錄的 GitHub 令牌
string。 選擇性。 disableDownloadFromRegistry = false時使用 。

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


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

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


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.3的格式。 platformx86x64tool files 應該是解壓縮的 Python 版本檔案。 {platform}.complete 應該是 0 個字節檔案,看起來像 x86.completex64.complete,只是表示工具已正確安裝在快取中。

如需完整且具體的範例,以下是 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
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 此工作會使用下列 命令限制執行: 受限制
Settable 變數 此工作具有 設定下列變數的許可權:pythonLocation、PATH
代理程式版本 2.182.1 或更新
工作類別 工具
要求 說明
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 所有支援的代理程式版本。
工作類別 工具