littlebot
Published on 2025-04-11 / 2 Visits
0

【源码】基于Python的DMOJ评测系统

项目简介

DMOJ评测系统是现代化的在线评测和竞赛平台,支持多种编程语言与评测模式。可处理基于输入输出、交互式及签名评测任务,还支持运行时数据生成器和自定义输出验证器。在Linux和FreeBSD平台实现安全评测机制,无需root权限即可运行。

项目的主要特性和功能

  • 多平台支持:支持Linux和FreeBSD平台,涵盖x64、x86、x32和ARM架构。
  • 多语言支持:支持C++、C、Java、Python、PyPy、Pascal、Perl、Mono C#/F#/VB等多种编程语言。
  • 安全评测:借助seccomp和ptrace实现安全的评测环境。
  • 自定义评测:支持运行时数据生成器和自定义输出验证器。
  • Docker支持:提供Docker镜像,便于部署和运行。

安装使用步骤

1. 安装依赖

确保系统已安装Python,使用pip安装DMOJ评测系统: bash pip install dmoj

2. 获取源码

若需使用最新开发版本,可通过Git复制仓库: bash cd judge-server pip install -e .

3. 配置环境变量

按需设置环境变量,如DMOJ_USE_SECCOMPDMOJ_TARGET_ARCH

4. 使用Docker部署

若选择使用Docker部署,可参考以下命令: bash cd judge-server/.docker make judge-tier1 exec docker run \ --name judge \ -p "$(ip addr show dev enp1s0 | perl -ne 'm@inet (.*)/.*@ and print$1 and exit')":9998:9998 \ -v /mnt/problems:/problems \ --cap-add=SYS_PTRACE \ -d \ --restart=always \ dmoj/judge-tier1:latest \ run -p15001 -s -c /problems/judge.yml \ "$BRIDGE_ADDRESS" "$JUDGE_NAME" "$JUDGE_KEY"

5. 运行评测服务器

使用以下命令启动评测服务器: bash dmoj --help dmoj -p SERVER_PORT -c CONFIG server_host judge_name judge_key

6. 运行CLI评测

使用以下命令启动CLI评测: bash dmoj-cli --help dmoj-cli -c CONFIG

更多关于问题文件格式和其他详细信息,请阅读DMOJ文档

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】