能否将Flet应用部署至Azure?求部署方法指导
部署Flet Todo应用到Azure App Service的可行方案及步骤
可行性说明
完全可行。Flet Web应用底层基于ASGI协议(Starlette),Azure App Service支持托管Python Web应用,完全兼容Flet框架的部署需求。
具体部署步骤
1. 准备项目文件
- 获取官方Todo项目的
main.py文件到本地目录 - 创建
requirements.txt文件,指定依赖:flet>=0.20.0 - 创建
startup.sh启动脚本(适配Azure Linux App Service):
注:Azure会自动分配端口并通过flet run main.py --port $PORT --web$PORT环境变量传递,必须使用该变量而非硬编码端口。
2. 创建Azure App Service资源
- 登录Azure门户,新建App Service资源:
- 发布方式选择「代码」
- 运行时堆栈选择「Python 3.11」(或Flet支持的其他Python版本,如3.10)
- 操作系统选择「Linux」(推荐,成本更低且适配性好)
- 实例规格可选免费层(F1)用于学习测试,或基础层(B1)获得更好性能
3. 部署代码到Azure
方法一:Azure CLI快速部署(推荐学习使用)
- 安装Azure CLI并完成登录:
az login - 进入本地项目目录,执行部署命令:
替换az webapp up --name <你的App Service唯一名称> --runtime PYTHON:3.11 --sku F1<你的App Service唯一名称>为全局唯一的名称,F1对应免费层,可根据需求替换为其他SKU。
方法二:GitHub Actions自动部署
- 在Azure App Service的「部署中心」,选择「GitHub」作为部署源,关联你的项目仓库,设置触发条件(如推送至main分支自动部署),后续代码更新会自动同步到Azure。
4. 验证部署
部署完成后,访问App Service的默认域名(格式:https://<你的App Service名称>.azurewebsites.net),即可看到Flet Todo应用正常运行。
注意事项
- 确保Python版本与Flet兼容(Flet 0.20+支持Python 3.8-3.12)
- 免费层(F1)存在资源配额限制,可能出现冷启动延迟,属于正常现象
- 若部署后无法访问,可查看Azure App Service的「日志流」排查问题,常见问题包括端口未正确设置、依赖安装失败等
内容的提问来源于stack exchange,提问作者MarctHidalgo
相关产品推荐
相关产品推荐

