适配GAE弹性环境的Python Flask+Gunicorn依赖配置求助
可部署的Flask+Gunicorn配置方案
1. app.yaml 配置
runtime: python312 env: standard instance_class: F1 entrypoint: gunicorn -b :$PORT main:app automatic_scaling: target_cpu_utilization: 0.65 min_instances: 1 max_instances: 5
注:
python312runtime对应GAE的Ubuntu22操作系统,main:app需替换为你的Flask应用入口(主文件名+Flask实例名)。
2. requirements.txt 配置(解决Markup导入错误)
Flask==2.2.5 gunicorn==21.2.0 Jinja2==3.0.3 Werkzeug==2.2.3 itsdangerous==2.1.2 click==8.1.3
配置说明:
- 固定Jinja2版本为3.0.3:该版本仍保留
Markup类在jinja2模块下,直接解决ImportError; - Flask 2.2.5与Jinja2 3.0.3完全兼容,同时适配Python 3.10至3.12版本;
- Gunicorn 21.2.0是稳定生产版本,适配GAE标准环境。
长期适配方案(需修改代码)
如果可以调整代码,将from jinja2 import Markup替换为from markupsafe import Markup,即可使用更新的依赖版本:
Flask==2.3.3 gunicorn==21.2.0 Jinja2==3.1.3
内容的提问来源于stack exchange,提问作者Nir
相关产品推荐
相关产品推荐

