腾讯云Serverless部署Flask应用

一、说明

网上很多例子都是基于单脚步 (即项目都在一个文件中, 如 app.py ), 但是我们在实际项目开发中应该都是使用包来组织程序, 因此我这里使用包的项目来部署到腾讯云 Serverless 平台.

二、操作

1.项目准备

本地编写的 Flask 项目(代码可参考 Flask 入门教程-李辉).

111.png
222.png
333.png

注意这里的项目名为 nowax, 而不是 app

2.部署

详细步骤可参考 腾讯云文档的控制台部署指南.

4444.png

注意查看部署日志, 稍后可收到部署成功的提示.

3.访问应用 ( 发现问题 )

部署成功后, 点击访问应用发现提示错误.

555.png
代码语言:txt
复制
import app  # Replace with your actual application\nModuleNotFoundError: No module named 'app'",

根据此提示可以大致分析出是没有找到 app这个模块, 但是我实际的项目名是 nowax.

然后我们打开云函数查看我们上传的代码, 可以在 sl_handler.py 文件中看到默认 import 的是 app 模块, 而我们的是 nowax模块, 所以解决方法无非两种:

666.png
777.png
  • 方法1. 直接在云函数中修改

这里修改后下次更新我们的代码因为不会覆盖 sl_handler.py, 所以后续更新也不会有影响.

888.png
  • 方法2. 修改项目名

如果我们的项目名就是 app, 那么我们以后就不需要在部署后再做修改了.

99.png

修改之后我们更新代码重新部署即可正常访问应用.

三、参考

  • Flask 入门教程-李辉
  • 腾讯 Serverless 新手体验
  • 腾讯云 > 文档中心 > Serverless Framework > 快速入门 > 控制台部署指南
  • 腾讯云 > 文档中心 > Serverless Framework > 框架支持 > 部署 Python Flask

文章原文: https://www.cnblogs.com/52liming/p/14484650.html