使用 actions/setup-python@v5 可轻松配置 Python 环境,指定 python-version 即可安装对应版本,结合 strategy.matrix 实现多版本测试,通过 actions/cache@v3 缓存 pip 依赖提升 CI 效率,并依次执行依赖安装、测试运行与代码检查等步骤。

在 GitHub Actions 中搭建 Python 环境非常简单,主要通过官方提供的 actions/setup-python 动作来实现。你只需要在工作流文件中指定 Python 版本,GitHub Actions 就会自动为你配置好运行环境。
在你的工作流文件(如 .github/workflows/test.yml)中,使用 actions/setup-python@v5 来安装 Python:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: acti
ons/setup-python@v5
with:
python-version: '3.11'
这会将 Python 3.11 安装到运行环境中,并将其设为默认版本。
如果你的项目需要在多个 Python 版本中测试,可以使用 strategy.matrix 来批量运行:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run tests
run: python -m pytest
这样每个 Python 版本都会独立运行一次测试流程。
如何在IOS平台下搭建PhoneGap开发环境 WORD版
本文档主要讲述的是如何在IOS平台下搭建PhoneGap开发环境;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
0
查看详情
为了提升 CI 效率,建议缓存 pip 安装的依赖包:
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
这段配置会根据 requirements.txt 的内容生成缓存键,避免重复下载已安装的包。
搭建完 Python 环境后,通常还需要:
pip install -r requirements.txt
python -m unittest 或 pytest
flake8 或 ruff
python -m build(需安装 build)基本上就这些。只要正确使用 setup-python,再配合依赖安装和测试命令,就能在 GitHub Actions 上稳定运行 Python 项目。不复杂但容易忽略的是缓存和多版本测试配置,合理使用能显著提升效率。
以上就是如何在 GitHub Actions 中搭建 Python 环境的详细内容,更多请关注其它相关文章!
相关文章:
Python字典中优雅地迭代剩余元素的方法
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
谷歌google账号怎么注册账号 谷歌账号注册官方流程
React Router v6 教程:构建认证保护的私有路由与重定向策略
Yandex浏览器官方网页版入口 Yandex浏览器最新版官网
如何在PHP中实现基于MySQL的动态分页查询
使用 Pandas 高效处理 .dat 文件:数据清洗与数值计算实战
PHP教程:将数据库查询结果动态展示到HTML Textarea的最佳实践
如何在 Windows 11 中启动游戏手柄设置
优化HTML表单样式:解决输入框焦点跳动与元素间距问题
印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】
c++中的std::forward_list和std::list有什么不同_c++ forward_list与list区别分析
Mac怎么锁定备忘录_Mac备忘录加密设置教程
c++ 获取系统当前时间 c++时间戳获取方法
J*a 递归快速排序中静态变量的状态管理与陷阱
2026年CSGO开箱网站推荐 CSGO开箱平台精选
DLsite中文平台入口 DLsite官网内容在线查看
谷歌学术网站直达地址 谷歌学术搜索网页版一键进入
SteamMachine定价或为699美元 大家想入手吗?
Go语言中高效处理x-www-form-urlencoded表单数据
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
蛙漫漫画免费阅读入口_蛙漫官方正版无广告纯净版
1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】
C++如何生成随机数_C++ random库使用方法与范围设置
如何在Promise链中优雅地中断后续then执行
解决 Express.js 中 PUT 请求密码修改失败的路由配置指南
漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道
PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符
知乎APP怎么管理已购盐选内容_知乎APP盐选内容购买记录与查看方法
俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达
mc.js游戏直达 mc.js网页免下载版本秒进地址
如何将HTML表格多行数据保存到Google Sheet
WooCommerce 购物车显示所有交叉销售商品教程
J*aScript中localStorage数据的获取、清洗与格式化教程
QQ邮箱登录官网首页 腾讯QQ邮箱网页入口
在Pyomo中实现基于变量的条件约束:Big-M方法详解
Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理
AO3镜像入口大全 AO3网页版内容访问全集
基于动态规划的房屋花卉种植最小成本算法详解
iCloud登录入口网页版 苹果iCloud官网登录
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
海棠电脑版入口_通过电脑访问海棠官网阅读
126邮箱账号注册 电脑版登录入口
Go语言中JSON数据解析与字段访问教程
深入理解Google Cloud Datastore查询:祖先路径与数据一致性
天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】
响应式图片在网页设计中的正确实现方法
Lar*el Eloquent:基于关联关系是否存在进行父模型过滤与删除
Angular中单选按钮的正确使用与常见陷阱解析
怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法