python online judge_OnlineJudgeServer运行

本文介绍了如何在Windows环境下搭建Python的OnlineJudgeServer,包括前后端分离的架构背景,环境准备如Python、Django及相关库的安装,以及Docker的使用来运行postgres和redis容器。最后,通过执行python manage.py runserver启动服务,成功运行OnlineJudgeServer。
摘要由CSDN通过智能技术生成

我在这如下这两篇文章都说过青岛OJ相关的

今天我还是要来讲讲关于这个青岛OJ。

青岛OJ采用的是完全的前后端分离架构。

OnlineJudgeFE相当于是前端,是使用Vue.js+webpack或gulp等打包的一个项目。

而今天所说的OnlineJudgeServer则是它的后端。

前端+后端分离的开发是当下的趋势。

后续我会写一篇关于前后端相关的文章,抱着个人想法+读过的书及其工作和学习上面的实践。

今天的主要话题是如何在本地搭建好Python的环境将青岛OJ的OnlineJudgeServer在windows上跑起来。

一、环境准备

Python3.7或者Python3.6

如果你原来安装Python2.7或者其他版本记得在对应的环境变量中删除。

关于Python安装就不多说了。

常见问题:

Pip命令找不到

一般配置环境变量

C:\Users\eluzhu\AppData\Local\Programs\Python\Python37\Scripts\pip3.7.exe

如果环境变量无效,原因通常是因为(我个人遇到的)你在原有的用户变量中配置好之前的,通常将之前的python环境删除或者重新编辑成现在的即可。

从这里我们可以看到用户变量优于系统变量。

Django环境:

pip.exe install django

pip.exe install celery

pip.exe install raven

pip.exe install envelopes

其它相关库安装:

安装docker:

https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

docker安装成功通常会在桌面有如下三个东西

pip.exe install djangorestframework

pip.exe install psycopg2

pip.exe install django==1.11.4

pip.exe install qrcode

pip.exe install otpauth

pip.exe install pillow

pip.exe install xlsxwriter

pip.exe install requests

pip.exe install django_redis

pip.exe install python-dateutil

pip.exe install jsonfield

pip.exe install docker-compose

二、执行环境和安装docker成功

双击运行它:

Docker成功的标志:

docker rm -f oj-postgres-dev oj-redis-dev

//通常如果存在oj-redis-dev就删除,不存在的话可以不用删除一般情况下,通过docker ps或者docker ps -a可以查看当前正在使用的容器或者所有容器。

docker run -it -d -e POSTGRES_DB=onlinejudge -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=1234 -p 127.0.0.1:5432:5432 --name oj-postgres-dev postgres:10

//启动并运行(包括拉取镜像)postgres容器

docker run -it -d -p 127.0.0.1:6380:6379 --name oj-redis-dev redis:4.0-alpine

//启动并运行(包括拉取镜像)redis容器

可能修改的地方:

修改的地方为如下(设置成该命令中的那样)

docker run -it -d -e POSTGRES_DB=onlinejudge -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=1234 -p 127.0.0.1:5432:5432 --name oj-postgres-dev postgres:10

//这个命令不用运行,之所以列举出来是为了说明为什么修改。:

还有一个secrey.key需要移到这

这个secrey.key可通过命令生成:

在linux上用随机数生成这个文件

echo `cat /dev/urandom | head -1 | md5sum | head -c 32` > data/config/secret.key

注意:如果该命令docker run -it -d -e POSTGRES_DB=onlinejudge -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=1234 -p 127.0.0.1:5432:5432 --name oj-postgres-dev postgres:10

执行失败的话,请参考后面安装postgresql,手动建立postgresql数据库,库名为onlinejudge,这样问题即可迎刃而解。

三、运行

最后执行python manage.py runserver

出现如图,表示成功:

界面形式:

所需环境资源可以去该地址下载:

链接:https://pan.baidu.com/s/1h_8qIoGi9Cz7rVrqleQO4Q

提取码:bwib

基本下载的软件双击下一步下一步即可。

Postgresql如果要运行的话,参考如下:

最后会弹出这个:

如果要连接,请双击击PostgreSQL11,出现该图:

输入对应的密码即可,进入如下界面,表示成功:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值