You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中正确指定待运行的Python文件路径?

解决Azure Pipeline引用仓库中Python脚本的问题

核心问题

你遇到的文件不存在错误,本质是代理机器的工作目录里没有拉取到目标Python脚本——要么是没正确检出仓库,要么是路径引用有误。

分步解决

  1. 确保仓库被正确检出

    • 如果脚本和你的Pipeline在同一个仓库:
      显式添加检出任务(避免默认检出逻辑失效):

      steps:
      - checkout: self
        fetchDepth: 1  # 按需调整拉取深度,全量拉取可去掉此参数
      

      此时脚本的本地路径应为:$(Build.SourcesDirectory)/Test2852/hello_world.py

    • 如果脚本在另一个仓库(比如你提供的MIR仓库):
      先在Pipeline开头定义仓库资源,再执行检出:

      resources:
        repositories:
          - repository: MIRRepo
            type: git
            name: MI/MIR  # 对应你的仓库标识:Company项目下的MIR仓库
            ref: main  # 替换成实际分支名
      
      steps:
      - checkout: MIRRepo
        path: 'MIR'  # 将仓库检出到代理机器的$(Pipeline.Workspace)/MIR目录下
      

      此时脚本路径应为:$(Pipeline.Workspace)/MIR/Test2852/hello_world.py

  2. 验证文件实际位置
    在执行PythonScript任务前,添加bash任务查看目录结构,确认文件是否存在:

    - bash: |
        ls -la $(Build.SourcesDirectory)
        ls -la $(Pipeline.Workspace)
      displayName: '检查目录结构'
    

    根据输出的实际路径调整scriptPath即可。

  3. 正确配置PythonScript任务
    以同仓库场景为例,最终任务配置:

    - task: PythonScript@0
      inputs:
        scriptSource: 'filePath'
        scriptPath: '$(Build.SourcesDirectory)/Test2852/hello_world.py'
    

关键注意事项

  • 不要直接用远程URL作为scriptPath,PythonScript任务仅支持代理机器本地的文件路径。
  • $(Build.SourcesDirectory)是当前检出仓库的根目录,$(Pipeline.Workspace)是所有检出资源的根目录,根据实际场景选择对应变量。

内容的提问来源于stack exchange,提问作者frank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 15:17:32