阿猫的博客

阿猫的博客

在 Vercel 中部署 Python 项目

368
2024-07-26

前言

提到 Vercel,大家熟知的是通过 Vercel 免费部署一些前端项目,但是没想到它还支持部署 Python 项目(除此之外还支持 Go 和 Ruby)。官方的文档中有提到 Flask 和 Django 的例子,现在我们以 fastapi 为例,部署一个后端的 api。

「一点」改动

整个部署的过程非常简单,只需要给项目加一个 vercel.json 就好。如果你的入口文件不是 main.py,修改成对应的名字即可。

{
    "version": 2,
    "builds": [
      {
        "src": "main.py",
        "use": "@vercel/python"
      }
    ],
    "routes": [
      {
        "src": "/(.*)",
        "dest": "main.py"
      }
    ]
}

如果你使用 poetry 来管理依赖,那可能还需要加一步,把依赖导出成 requirements.txt

> poetry export -f requirements.txt --output requirements.txt

部署

过程没什么特别的,就是在 Vercel 控制台 import 你的项目,然后保持所有选项不变,点 Build 即可。

References

Using the Python Runtime with Serverless Functions