后端部署
后端技术选型为fastapi+sqlite+redis。本地初始化步骤如下:
1.首先clone项目到本地
git clone -b webServer https://github.com/Liyanhao1209/ZhouYiLLM.git
2.统一环境,创建python3.11虚拟环境:
conda create --name zhouyi python=3.11 -y
3.启动虚拟环境:
conda activate zhouyi
4.cd到主目录,并安装项目依赖
pip install -r requirements.txt
5.运行.\db\create_db.py文件,生成数据库文件
python -m create_db.py
6.因为采用的为sqlite数据库,在navicat中新建sqlite连接。导入刚刚生成的db文件,即可看到数据库:
7.启动redis_server
8.启动项目:
python .\startup.py
运行时报错结果如下:
from jwt.exceptions import InvalidTokenError
ImportError: cannot import name 'InvalidTokenError' from 'jwt.exceptions'
依赖报错问题解决
首先运行pip show jwt命令查看当前虚拟环境下的jwt版本:
查看依赖文件并询问队友,发现我们的jwt的版本都为1.3.1.
然后继续 根据报错信息查看zhouyi虚拟环境中的jwt.exceptions文件,发现其中确实没有InvalidTokenError方法。
对比其他配置,我和队友的Python版本均为 3.11。
首先尝试卸载jwt依赖并重新下载,无法解决:
pip uninstall jwt
pip install jwt
然后尝试重新clone项目和重新生成虚拟环境,均无法解决上述问题。
解决方案:
copy了队友的jwt的两个依赖文件,重新运行即可。