项目简介
本项目是基于Python Flask框架开发的舌诊系统,通过接收用户上传的舌头图片,利用机器学习模型进行体质预测,并为用户提供个性化的舌诊报告。
项目的主要特性和功能
- 用户登录:支持用户通过微信小程序授权登录,系统利用微信小程序的code获取openid并保存至数据库。
- 舌诊图片上传:用户可通过API接口上传舌头图片,系统会对图片进行处理分析,判断是否含舌头并开展体质预测。
- 体质信息获取:系统依据用户上传的舌头图片及相关信息,借助机器学习模型进行体质分类并给出预测结果。
- 个人信息保存:用户能通过API接口保存性别、年龄、身高、体重等个人信息,有助于系统提供更精准的体质预测。
安装使用步骤
环境安装
- Python库:在cmd运行
pip install -r requirements.txt
安装所需环境,建议在虚拟环境中进行。若报错,可能是python版本或第三方库版本问题,需自行解决。本项目使用的python版本是3.8。 - MySQL(仅用于本地测试):可从官网下载并自行配置,也可安装phpstudy(小皮面板)进行傻瓜式配置。
项目设置
根据项目中的config.py
配置文件,设置数据库连接、API接口等信息。
运行项目
本地运行
- 数据库迁移:打开MySQL,新建名为aitongue的数据库。在cmd中切换到有
manage.py
的目录,依次运行python manage.py db init
、python manage.py db migrate
、python manage.py db upgrade
。当看到aitongue中有wechat_info, user_info, scale_info, mouth_info, face_info, alembic_version这六个表,说明数据库迁移成功。若报错,按提示解决。 - 在PyCharm中运行
manage.py
文件,若报类似runserver的错误,在运行配置中添加runserver。 - 接口测试:使用postman进行接口测试,教程参考:https://blog.csdn.net/fxbin123/article/details/80428216 。
服务器运行(Linux)
- 安装MySQL(推荐使用宝塔面板)。
- 将项目文件打包(xxx.tar.gz格式),上传到服务器并解压:
tar -zxvf 压缩包
。 - 同本地运行步骤进行数据库迁移,若报错“access denied for user xxx(using password: YES)”,修改
config.py
文件中的用户名和密码。 - 在服务器运行
manage.py
:- 直接运行:
python manage.py runserver
(不设置host和port,项目只能本服务器访问)。 - 部署:推荐使用gunicorn部署。
- 直接运行:
- 接口测试:用postman测试,ip换成服务器的公网ip或直接用域名(部署后)。
部署
本项目使用flask + nginx + gunicorn的部署方法:
1. 进行域名解析和备案(参考购买云服务器的官网文档)。
2. 安装pip3:sudo apt install python3-pip
。
3. 安装虚拟环境(非必须):
- 安装virtualenv:pip3 install virtualenv
。
- 安装virtualenvwrapper:pip3 install virtualenvwrapper
。
- 设置Linux环境变量:编辑~/.bashrc
文件,添加相关代码并使其生效。
- 使用virtualenvwrapper:mkvirtualenv 虚拟环境名
创建虚拟环境,workon 虚拟环境名
激活虚拟环境。
4. 安装宝塔面板(个人推荐):根据服务器系统选择对应命令安装。
5. 安装gunicorn:pip3 install gunicorn
,并进行简单测试。
6. nginx配置:在宝塔面板的网站配置文件中添加相关配置,重载nginx配置进行测试。
7. 配置ssl证书(参考官方文档,用宝塔配置)。
注意:在实际应用中,可能需要根据实际情况调整数据库连接、API接口等配置信息,以确保项目正常运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】