本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本镜像为特定Python版本的程序作业自动评分环境,旨在提供标准化的评分运行时。镜像集成了路径中的指定Python版本,并预装核心评分工具(python-grader-utils、pytest),支持多种扩展场景的依赖库,适用于各类Python程序作业的自动化评分流程。
math-*、ml-*),按需集成扩展库(如科学计算、机器学***、数据库等)。graderutils、unittest系列、run-all-unittests等命令,简化评分流程配置。capture、testcase包装器)。镜像标签遵循<Python版本>-<评分基础版本>格式,其中:
<Python版本>:镜像内置的Python版本(如3.5、3.7)。<评分基础版本>:底层grading-base镜像版本(如2.0、3.1)。uN(N为递增数字),表示在软件版本不变的情况下的镜像更新(如3.5-2.0u1表示Python 3.5、评分基础2.0的第1次更新)。较新版本标签包含python-grader-utils版本,格式为<Python版本>-<grader-utils版本>-<评分基础版本>(如3.7-3.3-3.1表示Python 3.7、grader-utils 3.3、评分基础3.1)。
除基础标签外,提供以下功能扩展标签(前缀+基础标签格式,如math-3.9-3.5-4.0):
| 标签前缀 | 包含扩展包 | 用途 |
|---|---|---|
math-* | matplotlib、scipy、numpy、bokeh(科学计算与可视化);openpyxl、xlrd、xlwt(Excel解析) | 科学计算、数据可视化及Excel处理相关作业 |
ml-* | 在math-*基础上增加pandas、scikit-learn | 机器学***、数据分析相关作业 |
jupyter-* | 在ml-*基础上增加nbconvert、ipython | Jupyter笔记本作业评分 |
rdf-* | rdflib | RDF数据处理相关作业 |
xls-* | xlrd、xlwt | 仅需基础Excel文件解析的作业 |
ply-* | PLY(解析器与词法分析器生成器) | 语法解析相关作业 |
smt-* | 在ply-*基础上增加pysmt、dd | SMT求解与决策图相关作业 |
y2-* | pyqt6、coverage、networkx、pyvirtualdisplay | 《基础编程课程Y2》专用 |
mec-* | 在math-*基础上增加requests、bs4、validators | 《机电机器设计课程》专用 |
psql-* | PostgreSQL服务器、psycopg2 | 需要PostgreSQL数据库交互的作业 |
comp-* | requests、bs4、pandas、lxml、html5lib | 竞赛编程课程作业 |
本镜像适用于各类Python程序作业的自动化评分场景,尤其适合教育机构、在线编程平台等需要标准化评分环境的场景。具体适用范围包括:
3.9-4.0),通过graderutils或unittest进行代码评分。math-*标签,支持NumPy、SciPy等库的作业评分。ml-*标签,满足pandas、scikit-learn依赖的评分需求。y2-*、mec-*等专用标签,适配课程定制化依赖。psql-*标签,支持PostgreSQL交互代码的评分。镜像提供以下核心实用命令,用于简化评分流程配置:
graderutils功能:执行python-grader-utils评分工具,支持多种参数配置。
语法:
graderutils [--use-iotester] [--use-rpyc] [--novalidate] [--container] [--show-config] [--develop-mode] [--exercise-path <绝对路径>] -- [<测试配置绝对路径>]
参数说明:
--use-iotester:创建iotester所需的目录结构及权限。--use-rpyc:通过RPyC(远程Python调用)在独立进程中导入并执行学生代码。--novalidate:跳过测试配置文件的验证。--container:在基于grading-base的容器中运行时,将graderutils自身异常输出到stderr(通常不使用)。--show-config:将测试配置打印为警告信息。--develop-mode:显示所有未处理异常(无格式化),并隐含--show-config;默认情况下,测试配置错误会被通用错误信息掩盖,以避免泄露评分细节。--exercise-path <绝对路径>:指定评分测试运行目录(默认/exercise;个性化作业可设为/personalized_exercise)。说明:
grading-base的capture包装器执行graderutils.main(使用--use-rpyc时执行graderutils.__main__)。--use-iotester、--use-rpyc、--exercise-path外,其他参数均传递给Python模块。/exercise/test_config.yaml作为测试配置文件(即配置文件为test_config.yaml时,仅需执行graderutils)。unittest功能:python3 -m unittest的别名,自动将/exercise添加到PYTHONPATH。
语法:
unittest [unittest参数]
unittest-capture功能:基于capture包装器的unittest执行命令,自动将/exercise添加到PYTHONPATH;无错误时自动执行err-to-out(错误输出重定向到标准输出)。
语法:
unittest-capture [unittest参数]
unittest-testcase功能:结合testcase(来自grading-base)和unittest的包装命令,自动将/exercise添加到PYTHONPATH。
语法:
unittest-testcase [-t 标题] [-p 分数] [-s 跳过条件] [unittest参数]
参数:
-t:测试标题。-p:测试分数。-s:跳过条件。unittest。grading-base的testcase文档。python-compile-all功能:python3 -m compileall的别名,用于验证提交文件的Python语法。
语法:
python-compile-all [compileall参数]
run-all-unittests功能:一站式评分命令,可替代简单场景下的run.sh。
语法:
run-all-unittests [-S] [-p 每个测试类分数]
流程:
-S跳过);若语法错误,终止测试。*test*.py的文件。unittest.TestCase的类,通过testcase和unittest执行测试。-S:跳过语法验证。-p:每个测试类通过时的分数(默认按配置)。graderutils)挂载练***目录(含test_config.yaml),执行基础评分:
docker run --rm -v /本地练***目录:/exercise apluslms/python-grading:3.9-3.5-4.0 graderutils
run-all-unittests)对提交作业执行全流程测试(语法验证+单元测试):
docker run --rm -v /本地提交目录:/submission -v /本地练***目录:/exercise apluslms/python-grading:3.9-3.5-4.0 run-all-unittests -p 5
(-p 5表示每个测试类满分5分)
math-*标签)运行需要NumPy和Excel解析的作业评分:
docker run --rm -v /本地练***目录:/exercise apluslms/python-grading:math-3.9-3.5-4.0 graderutils --exercise-path /personalized_exercise
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429