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

GitHub自托管Runner Python版本匹配失败求助

解决自托管Runner上actions/setup-python@v3找不到Python 3.9的问题

针对你在AlmaLinux 9.3自托管Runner上遇到的Version 3.9 was not found in the local cache错误,核心原因是actions/setup-python@v3默认优先从GitHub缓存下载Python版本,而非直接识别本地已安装的Python。以下是几种可行的解决方法:

方法1:直接使用本地已安装的Python

既然本地已经安装了Python 3.9.13,可跳过setup-python步骤,直接在工作流中指定本地Python路径:

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - name: 配置本地Python环境
        run: |
          # 替换为你本地Python 3.9的实际路径,可通过`which python3.9`获取
          export PATH="/usr/bin/python3.9/bin:$PATH"
          # 验证版本
          python --version
      - name: 安装依赖
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt
          # 若用conda环境,执行:conda env create -f requirements.yml && conda activate your-env-name

方法2:让setup-python识别本地Python

如果仍想使用setup-python,需确保本地Python在系统PATH中,或通过参数引导action检测本地版本:

  1. 在自托管Runner机器上,将Python 3.9的路径加入全局PATH,或创建符号链接(需sudo权限):
    sudo ln -s /path/to/your/python3.9 /usr/bin/python3.9
    
  2. 修改工作流yaml,指定具体版本并开启本地检测:
    - name: Set up Python 3.9.13
      uses: actions/setup-python@v3
      with:
        python-version: '3.9.13'
        check-latest: true  # 强制检测本地最新匹配版本
        cache: pip  # 可选,缓存pip依赖加速后续构建
    

方法3:基于Conda环境直接构建

若你的requirements.yml是Conda环境配置文件,可直接用Conda创建环境,完全绕开setup-python:

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - name: 创建Conda环境
        run: |
          conda env create -f requirements.yml
          conda activate your-env-name  # 替换为requirements.yml中定义的环境名
          python --version
      - name: 安装PyTorch
        run: |
          conda activate your-env-name
          # 替换为对应CUDA版本的PyTorch安装命令,例如:
          conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

关键排查点

  • 确认自托管Runner的运行用户(默认是runner)有权限访问Python 3.9的安装路径,可在Runner机器上切换到该用户执行python3.9 --version验证。
  • 检查工作流中是否有其他步骤修改了PATH环境变量,导致setup-python无法定位本地Python。

内容的提问来源于stack exchange,提问作者Matthew D.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 12:30:18