flask架构api

打印 上一主题 下一主题

主题 1888|帖子 1888|积分 5666

发票识别
1.发票字段定位配置(可根据实际样本调解,获取数据更准确)
2.解决图片有大小的题目后在进行定位(统逐一样大小)
  git pull --ff-only或git merg
  
1.使用venv虚拟环境(myvenv) 
创建虚拟环境:python -m venv myvenv
Windows下激活虚拟环境:myvenv\Scripts\activate.bat
Windows查看虚拟环境的python路径:python -c "import sys; print(sys.executable)"
Windows删除虚拟环境:rd /s /q myvenv  
  Windows下生产环境:waitress-serve --port=8000 run:application
  paddleocr2.6.1版本内部库会报错,需要修改db_posttprocess.py文件中的代码188行,将np.int改为np.int32或np.int64
  阿里云镜像: https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
  2.目次结构
flask_api_project/
├── app/                          # 主应用目次
│   ├── __init__.py               # 初始化Flask应用和全局配置
│   ├── routes/                   # 路由模块(或 views/)
│   │   ├── auth.py               # 认证相关路由
│   │   ├── users.py              # 用户相关路由
│   │   └── posts.py              # 文章相关路由
│   ├── models/                   # 数据模型(ORM)
│   │   ├── user.py               # 用户模型
│   │   └── post.py               # 文章模型
│   ├── services/                 # 业务逻辑层(可选)
│   │   ├── auth_service.py       # 认证逻辑
│   │   └── user_service.py       # 用户相关逻辑
│   ├── utils/                    # 工具函数
│   │   ├── helpers.py            # 通用辅助函数
│   │   └── decorators.py         # 自定义装饰器
│   ├── config.py                 # 配置文件(开辟/测试/生产)
│   ├── extensions.py             # 第三方扩展初始化(如数据库、Redis等)
│   └── errors.py                 # 自定义错误处置惩罚

├── tests/                        # 单元测试
│   ├── test_auth.py
│   └── test_users.py

├── migrations/                   # 数据库迁移脚本(Alembic)
├── static/                       # 静态文件(CSS/JS/图片)
├── templates/                    # 模板文件(如使用Jinja2)
├── requirements.txt              # 依靠库列表
├── .env                          # 环境变量(开辟用)
├── .flaskenv                     # Flask环境配置
└── run.py                        # 启动脚本(开辟环境)
  3.依靠库列表
pip.exe freeze > requirements.txt
pip install -r requirements.txt  # 从文件批量安装
  4.flask在vscode中使用debug模式
修改.vscode/launch.json文件(debug配置文件)
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ython: Flask",
            "type": "python",
            "request": "launch",
            "module": "flask",
            "env": {
                "FLASK_APP": "app",  // 指向包罗create_app()的模块
                "FLASK_ENV": "development",
                "FLASK_DEBUG": "1"
            },
            "args": [
                "run",
                "--no-debugger",  // 禁用Flask内置调试器
                "--no-reload"     // 禁用主动重载(调试时建议关闭)
            ],
            "jinja": true,         // 启用Jinja2模板调试
            "justMyCode": false    // 答应调试第三方库
        }
    ]
}
  5.宝塔中运行flask框架项目报错ImportError: libGL.so.1: cannot open shared object file: No such file or directory
在宝塔面板中运行 Flask 项目时出现 libGL.so.1 缺失错误,通常是由于项目依靠的某些 Python 库(如 OpenCV、Matplotlib 等)需要图形渲染库。以下是针对宝塔环境的完备解决方案:
​1. 根本原因分析
​宝塔环境特点:默认最小化安装的 Linux 系统,缺少图形相关依靠
​影响范围:紧张影响以下 Python 库:
OpenCV (cv2)
Matplotlib
PyQt/PySide
其他需要 GPU/OpenGL 加速的库
方法 1:安装底子 OpenGL 库(推荐)​
# CentOS 系统
sudo yum install mesa-libGL -y
  6.宝塔上摆设flask应用(映射域名时遇到题目)
在宝塔面板中使用 ​Python项目管理器 映射域名时遇到端口或 uWSGI 模式题目,可通过以下方案解决:
​1. 题目原因
​uWSGI限制:宝塔的 Python 项目管理器暂不支持直接通过 .sock 文件映射域名
​**✅ 终极解决方案(推荐)​**
​方案A:改用「端口模式」+ Nginx反向代理
​步调1:修改Flask项目配置
python
# app.py 确保指定端口
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)  # 必须明白端口
​步调2:Nginx反向代理,指向Flask端口
nginx
server {
    listen 80;
    server_name yourdomain.com;
    location / {
        proxy_pass http://127.0.0.1:5000;  # 指向Flask端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表