跳到主要内容

Flask

Flask Flask 是一个轻量级、灵活的 Python Web 框架,以简洁和可扩展性为核心设计理念。它不强制依赖特定库或架构,仅提供核心功能(如路由、模板渲染),开发者可自由选配数据库、表单验证等组件(如 SQLAlchemy、WTForms)。这种“微框架”特性使其学习成本极低,同时能通过扩展轻松构建复杂应用,特别适合快速开发小型项目或作为微服务基础。

本指南介绍如何通过多种方式在腾讯云托管上部署 Flask 应用程序:

创建一个 Flask 应用

Note: 如果你已经有 Flask 应用程序,则可以跳过该步骤。

要创建新的 Flask 应用程序,需要机器上安装Python和Flask。

按照以下步骤在目录中设置项目。

创建一个cloudrun-flask目录, cd进入该目录。

创建虚拟环境

python -m venv env

激活虚拟环境

source env/bin/activate

安装 Flask

python -m pip install flask

cloudrun-flask目录中创建一个新文件 manage.py, 内容如下:

import os
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
return 'Hello world!'

1、from flask import Flask

  • 此行从 Flask 框架导入 Flask 类,用于创建和管理 Web 应用程序。

2、app = Flask(__name__)

  • 此行创建 Flask 类的实例并将其分配给 app 变量。
  • name参数帮助 Flask 识别应用程序的位置。它对于确定资源路径和错误报告很有用。

3、@app.route('/')

  • @app.route('/')装饰器为应用设置了 URL 路由。当(/)访问根 URL 时,Flask 将执行紧接着该装饰器下方的函数。

4、def hello()

  • 该hello函数返回一条纯文本消息“Hello world!”,当访问应用程序的根 URL 时,该消息将显示在浏览器中。

cloudrun-flask目录下执行python3 manage.py runserver 0.0.0.0:8080 启动服务, 打开浏览器并查看http://127.0.0.1:8080查看返回结果。

配置依赖项

创建 requirements.txt 文件: 要跟踪部署的所有依赖项,请创建一个requirements.txt文件:

pip freeze > requirements.txt

Note: 只有在虚拟环境中运行上述命令才是安全的,否则它将生成系统上所有安装的 python 包。可能导致云托管上无法启动该应用程序。

通过上面更改,你的 Flask 程序将可以部署到腾讯云托管了!

将 Flask 应用程序部署到腾讯云托管

一键从模版部署

1、打开腾讯云托管

2、点击新建 -> 选择 Flask 模版进行安装

Note: 模版源码下载地址

从Dockerfile部署

1、在cloudrun-flask目录中创建一个 Dockerfile 文件,内容如下:

FROM alpine

# 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

# 选用国内镜像源以提高下载速度
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
&& apk add --update --no-cache python3 py3-pip gcc python3-dev linux-headers musl-dev \
&& rm -rf /var/cache/apk/*

# 使用 HTTPS 协议访问容器云调用证书安装
RUN apk add ca-certificates

# 拷贝当前项目到/app目录下(.dockerignore中文件除外)
COPY . /app

# 设定当前的工作目录
WORKDIR /app

# 安装依赖到指定的/install文件夹
# 选用国内镜像源以提高下载速度
RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple \
&& pip config set global.trusted-host mirrors.cloud.tencent.com \
&& pip install --upgrade pip --break-system-packages \
# pip install scipy 等数学包失败,可使用 apk add py3-scipy 进行, 参考安装 https://pkgs.alpinelinux.org/packages?name=py3-scipy&branch=v3.13
&& pip install --user -r requirements.txt --break-system-packages

# 执行启动命令
# 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。
# 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["python3", "manage.py", "runserver","0.0.0.0:8080"]

2、部署代码

打开腾讯云托管, 点击新建按钮 -> 选择从空白创建 -> 填写服务名称 -> 部署方式选择上传代码包 -> 代码包类型选择文件夹 -> 选择 cloudrun-flask 目录进行上传 -> 端口填写 8080 -> 点击创建并等待创建完成即可。