解决 GitHub 自托管 Runner 中 Python 版本问题的教程

碧海醫心
发布: 2025-11-04 11:31:25
原创
221人浏览过

解决 github 自托管 runner 中 python 版本问题的教程

本文旨在帮助解决在使用 GitHub 自托管 Runner 时遇到的 Python 版本问题,特别是当 actions/setup-python 无法找到指定 Python 版本时。我们将分析问题原因,并提供相应的解决方案,确保你的自托管 Runner 能够正确配置 Python 环境,顺利运行你的 GitHub Actions 工作流。

问题分析

当你在 GitHub 自托管 Runner 上使用 actions/setup-python Action 时,可能会遇到类似以下错误:

Run actions/setup-python@v3
Version 3.9 was not found in the local cache
Error: Version 3.9 with arch x64 not found
The list of all available versions can be found here: `https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json`
登录后复制

这通常表明 setup-python Action 无法在你的自托管 Runner 上找到你指定的 Python 版本。

根本原因

根据官方文档,setup-python Action 依赖于 GitHub Actions 托管环境提供的 Python 发行版。这意味着,setup-python 仅支持与 GitHub Actions 托管环境相同的操作系统版本

立即学习Python免费学习笔记(深入)”;

具体来说,setup-python 主要支持以下操作系统:

  • Ubuntu (特定版本,通常是最新的 LTS 版本)
  • Windows (特定版本)

如果你使用的自托管 Runner 运行的是不支持的 Linux 发行版(例如,AlmaLinux、Fedora 等),或者不受支持的 Ubuntu 版本(例如,非 LTS 版本),那么 setup-python 很可能无法正常工作,并抛出上述错误。

解决方案

解决此问题的关键在于确保你的自托管 Runner 运行的是 setup-python 支持的操作系统。以下是一些可能的解决方案:

GitHub Copilot
GitHub Copilot

GitHub AI编程工具,实时编程建议

GitHub Copilot 48
查看详情 GitHub Copilot
  1. 更换操作系统: 最直接的解决方案是将自托管 Runner 的操作系统更换为 setup-python 支持的 Ubuntu 或 Windows 版本。这是最推荐的解决方案,因为它能确保 Action 的兼容性和稳定性。

  2. 手动安装 Python: 如果由于某些原因无法更换操作系统,你可以考虑手动在自托管 Runner 上安装所需的 Python 版本,并配置环境变量。然后,修改你的 workflow 文件,跳过 actions/setup-python Action,直接使用手动安装的 Python。

    • 示例:

      steps:
        - uses: actions/checkout@v3
        - name: Set up Python manually
          run: |
            # 假设 Python 3.9 已经手动安装在 /opt/python3.9
            echo "::add-path::/opt/python3.9/bin"
        - name: Install dependencies
          run: |
            python -m pip install --upgrade pip
            pip install -r requirements.txt
      登录后复制
    • 注意事项:

      • 手动安装 Python 需要你自行管理 Python 的安装、更新和依赖。
      • 你需要确保手动安装的 Python 版本与你的项目兼容。
      • 需要将 Python 的安装路径添加到 PATH 环境变量中,以便在 workflow 中可以找到 Python 解释器。
  3. 使用 Docker 容器: 你可以使用 Docker 容器来隔离你的构建环境。创建一个包含所需 Python 版本和依赖的 Docker 镜像,然后在 workflow 中使用该镜像运行你的构建步骤。

    • 示例:

      jobs:
        build:
          runs-on: self-hosted
          container:
            image: python:3.9 # 或者你自定义的包含 Python 3.9 的镜像
          steps:
            - uses: actions/checkout@v3
            - name: Install dependencies
              run: |
                python -m pip install --upgrade pip
                pip install -r requirements.txt
            - name: Run tests
              run: pytest
      登录后复制
    • 注意事项:

      • 你需要熟悉 Docker 的基本概念和使用方法。
      • 构建 Docker 镜像可能需要一些时间。
      • 确保 Docker 镜像包含所有必要的依赖项。

总结

当你在 GitHub 自托管 Runner 上使用 actions/setup-python Action 遇到 Python 版本问题时,首先要确认你的操作系统是否受支持。如果操作系统不受支持,可以考虑更换操作系统、手动安装 Python 或使用 Docker 容器来解决问题。选择哪种解决方案取决于你的具体情况和需求。

建议优先考虑更换操作系统,因为它能提供最佳的兼容性和稳定性。 如果无法更换操作系统,手动安装 Python 或使用 Docker 容器也是可行的替代方案,但需要你自行管理 Python 环境和依赖。

以上就是解决 GitHub 自托管 Runner 中 Python 版本问题的教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号