本镜像为特定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评分工具,支持多种参数配置。
语法:
bashgraderutils [--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。
语法:
bashunittest [unittest参数]
unittest-capture功能:基于capture包装器的unittest执行命令,自动将/exercise添加到PYTHONPATH;无错误时自动执行err-to-out(错误输出重定向到标准输出)。
语法:
bashunittest-capture [unittest参数]
unittest-testcase功能:结合testcase(来自grading-base)和unittest的包装命令,自动将/exercise添加到PYTHONPATH。
语法:
bashunittest-testcase [-t 标题] [-p 分数] [-s 跳过条件] [unittest参数]
参数:
-t:测试标题。-p:测试分数。-s:跳过条件。unittest。grading-base的testcase文档。python-compile-all功能:python3 -m compileall的别名,用于验证提交文件的Python语法。
语法:
bashpython-compile-all [compileall参数]
run-all-unittests功能:一站式评分命令,可替代简单场景下的run.sh。
语法:
bashrun-all-unittests [-S] [-p 每个测试类分数]
流程:
-S跳过);若语法错误,终止测试。*test*.py的文件。unittest.TestCase的类,通过testcase和unittest执行测试。-S:跳过语法验证。-p:每个测试类通过时的分数(默认按配置)。graderutils)挂载练***目录(含test_config.yaml),执行基础评分:
bashdocker run --rm -v /本地练***目录:/exercise apluslms/python-grading:3.9-3.5-4.0 graderutils
run-all-unittests)对提交作业执行全流程测试(语法验证+单元测试):
bashdocker 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解析的作业评分:
bashdocker 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429