OnlineJudgeServer运行
我在这如下这两篇文章都说过青岛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,出现该图:
输入对应的密码即可,进入如下界面,表示成功:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述