Azure Pipeline运行PythonScript@0任务报toolPath参数为空如何解决
问题排查与解决步骤
步骤1:前置添加Python版本指定任务
PythonScript@0任务无法自动定位Agent上的Python环境时就会抛出Parameter 'toolPath' cannot be null or empty错误,优先在Python脚本任务前添加UsePythonVersion@0任务指定Python版本,示例配置如下:
- task: UsePythonVersion@0 inputs: versionSpec: '3.9' # 按需替换为你需要的Python版本 addToPath: true architecture: 'x64'
步骤2:修正YAML缩进错误
你当前贴出的YAML配置存在缩进不规范问题,script字段的缩进和上层scriptSource不一致,会导致任务参数解析异常,修正后的配置示例:
- task: PythonScript@0 inputs: scriptSource: 'inline' script: | import json import os import requests from requests.auth import HTTPBasicAuth url = "https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitionId={id}&api-version=6.0"
步骤3:(自托管Agent适用)手动指定toolPath参数
如果你使用的是自托管Agent,且Python没有添加到系统PATH中,可以直接在PythonScript任务的inputs中手动指定Python可执行文件的路径:
- task: PythonScript@0 inputs: toolPath: 'C:\Python39\python.exe' # Windows环境示例,Linux替换为对应路径如/usr/bin/python3 scriptSource: 'inline' script: | import json import os import requests from requests.auth import HTTPBasicAuth url = "https://dev.azure.com/{organization}/{project}/_apis/build/builds?definitionId={id}&api-version=6.0"
步骤4:验证依赖安装
如果脚本中使用了第三方库如requests,需要在执行脚本前添加pip安装步骤:
- script: | pip install requests displayName: 'Install Python dependencies'
内容的提问来源于stack exchange,提问作者vij
相关产品推荐
相关产品推荐

