一、说明
网上很多例子都是基于单脚步 (即项目都在一个文件中, 如 app.py ), 但是我们在实际项目开发中应该都是使用包来组织程序, 因此我这里使用包的项目来部署到腾讯云 Serverless 平台.
二、操作
1.项目准备
本地编写的 Flask 项目(代码可参考 Flask 入门教程-李辉).
注意这里的项目名为 nowax
, 而不是 app
2.部署
详细步骤可参考 腾讯云文档的控制台部署指南.
注意查看部署日志, 稍后可收到部署成功的提示.
3.访问应用 ( 发现问题 )
部署成功后, 点击访问应用发现提示错误.
代码语言:txt复制import app # Replace with your actual applicationnModuleNotFoundError: No module named 'app'",
根据此提示可以大致分析出是没有找到 app
这个模块, 但是我实际的项目名是 nowax
.
然后我们打开云函数查看我们上传的代码, 可以在 sl_handler.py
文件中看到默认 import
的是 app
模块, 而我们的是 nowax
模块, 所以解决方法无非两种:
- 方法1. 直接在云函数中修改
这里修改后下次更新我们的代码因为不会覆盖 sl_handler.py
, 所以后续更新也不会有影响.
- 方法2. 修改项目名
如果我们的项目名就是 app
, 那么我们以后就不需要在部署后再做修改了.
修改之后我们更新代码重新部署即可正常访问应用.
三、参考
- Flask 入门教程-李辉
- 腾讯 Serverless 新手体验
- 腾讯云 > 文档中心 > Serverless Framework > 快速入门 > 控制台部署指南
- 腾讯云 > 文档中心 > Serverless Framework > 框架支持 > 部署 Python Flask
文章原文: https://www.cnblogs.com/52liming/p/14484650.html