
本文旨在帮助解决在使用 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 主要支持以下操作系统:
如果你使用的自托管 Runner 运行的是不支持的 Linux 发行版(例如,AlmaLinux、Fedora 等),或者不受支持的 Ubuntu 版本(例如,非 LTS 版本),那么 setup-python 很可能无法正常工作,并抛出上述错误。
解决此问题的关键在于确保你的自托管 Runner 运行的是 setup-python 支持的操作系统。以下是一些可能的解决方案:
更换操作系统: 最直接的解决方案是将自托管 Runner 的操作系统更换为 setup-python 支持的 Ubuntu 或 Windows 版本。这是最推荐的解决方案,因为它能确保 Action 的兼容性和稳定性。
手动安装 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注意事项:
使用 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注意事项:
当你在 GitHub 自托管 Runner 上使用 actions/setup-python Action 遇到 Python 版本问题时,首先要确认你的操作系统是否受支持。如果操作系统不受支持,可以考虑更换操作系统、手动安装 Python 或使用 Docker 容器来解决问题。选择哪种解决方案取决于你的具体情况和需求。
建议优先考虑更换操作系统,因为它能提供最佳的兼容性和稳定性。 如果无法更换操作系统,手动安装 Python 或使用 Docker 容器也是可行的替代方案,但需要你自行管理 Python 环境和依赖。
以上就是解决 GitHub 自托管 Runner 中 Python 版本问题的教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号