返回 文章 apply CMS 文章

Vercel 正式支持 Python:原生部署与全栈开发体验

Vercel 正式支持 Python,提供原生部署体验和全栈开发工作流。

VercelPython部署全栈开发
成长分 / 100 73 综合收获、行动、留存与影响

Vercel 正式支持 Python:原生部署与全栈开发体验
为什么值得读了解 Vercel 对 Python 生态的正式支持及其设计目标,包括惯用 SDK、共享工作流和 CPython 兼容性。

掌握在 Vercel 上部署 Python 应用的具体方式,包括框架自动检测、Vercel Services 和 Daemons 的使用。

关键洞察
  1. Vercel 自动检测 FastAPI、Flask、Django、FastHTML 等框架,并配置构建和请求路由,支持通过 CDN 提供静态资源。
  2. Python 应用运行在 Fluid 计算上,可管理并发请求并随流量扩展。
  3. 提供多个惯用 Python SDK,覆盖 AI 生成与流式响应、沙箱环境、持久工作流、队列、Blob 存储和外部 API 凭证获取。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:8776

Vercel 上的 Python 现已正式可用。使用您已经熟悉的框架、库和工具构建并运行 Python 应用程序。

Vercel 自动检测支持的框架并配置构建和部署。您的应用程序运行在 Fluid 计算上,它管理并发请求并随流量扩展。惯用的 Python SDK 让您可以直接从 Python 使用存储、队列、持久工作流和 AI 模型。对于全栈项目,Python 后端和前端共享本地开发、预览部署和生产发布的工作流。

我们对 Vercel 上 Python 的目标

十个月前,我们着手让 Vercel 成为构建和运行 Python 应用程序的最佳场所。我们希望体验能贴合 Python 开发者已有的工作方式,三个目标指导了我们的决策:

  • 惯用的 Python SDK。 使用 Vercel 基础设施应该让 Python 开发者感到熟悉,API 使用类型注解、async/await 和上下文管理器。
  • 前后端共享的工作流。 Python 应用程序通常包含 JavaScript 前端,因此开发者应该能够在本地运行两者,在同一个预览部署中审查它们,并一起发布或回滚。
  • 与 Python 生态系统的兼容性。 运行时应在 Linux 上使用 CPython(标准 Python 解释器),以保持与 Python 开发者已经依赖的包和工具的兼容性。

这些目标的第一个测试是当您在 Vercel 上部署 Python 应用程序时会发生什么:其框架、依赖项和项目结构应指导其构建和运行方式。

在 Vercel 上部署 Python 应用程序

我们努力让 Python 在 Vercel 上感觉原生。Vercel 读取您项目的依赖文件,包括由 uv 管理的文件,并自动检测 FastAPI、Flask、Django 和 FastHTML 等框架。框架定义的基础设施配置构建和请求路由,并针对框架提供通过 CDN 提供静态资源的支持。

对于带有前端的应用程序,Vercel Services 将两部分整合到一个项目中。运行 vercel dev 会同时启动它们,共享预览让您可以使用前端测试后端更改。

对于从队列或数据库拉取作业的长时间运行的工作进程,Vercel Daemons 让您的容器与 Python 代码及其任何包和系统依赖项保持运行。

用于 Vercel 基础设施的 Python SDK

Python 后端可能需要存储文件、发送消息、运行持久工作流或调用 AI 模型。我们为这些任务构建了 Python SDK,其 API 遵循该语言的约定:

SDK 您可以做什么
AI SDK for Python 生成和流式传输模型响应、调用工具并构建代理。
Sandbox SDK 创建和控制用于运行代码的隔离环境。
Workflow SDK 定义具有重试和保存执行状态的持久工作流。
Queues SDK 发送和接收用于后台工作和通知的消息。
Blob SDK 在对象存储中上传和检索文件。
Connect SDK 获取用于调用外部 API 的凭证。

用于存储、消息传递、工作流、代码执行、AI 和外部 API 凭证的 Python SDK。

这些 SDK 与您的框架和库协同工作,下面的示例展示了它们如何在全栈应用程序中连接。

开始在 Vercel 上使用 Python 构建

无论您是开始新项目还是部署现有代码,框架指南都涵盖了在 Vercel 上的设置和部署。对于引导式全栈项目,Vercel 上的 Python 课程将引导您构建 FastAPI 后端和 Next.js 前端,然后使用 Services 一起部署它们。

为了展示这些部分如何协同工作,我构建了一个协作式 Web 应用程序,用于创建和浏览 Python 笔记本。它允许人们创建自己的笔记本,发布供他人浏览或分叉,并与 AI 助手一起编写和运行 Python 代码。

在与 AI 助手协作时,在 Jupyter 笔记本中编写和运行 Python。

在与 AI 助手协作时,在 Jupyter 笔记本中编写和运行 Python。

在与 AI 助手协作时,在 Jupyter 笔记本中编写和运行 Python。

在与 AI 助手协作时,在 Jupyter 笔记本中编写和运行 Python。

在与 AI 助手协作时,在 Jupyter 笔记本中编写和运行 Python。

该应用程序将 Vite 前端与 FastAPI 后端配对,并使用 PostgreSQL 存储笔记本源代码和聊天历史。Services 将前端和后端保持在一个部署中,前端通过 CDN 提供服务。

以下是主要部分的连接方式:

  • 编辑和运行代码: 当已登录用户在编辑器中打开其笔记本时,FastAPI 创建或重用运行 Jupyter 的 Vercel Sandbox,将用户代码与应用程序后端隔离。浏览器直接连接到 Jupyter,而挂载的 Drives 提供 Python 依赖项和工作区文件。
  • 保存和发布: 浏览器定期将当前笔记本发送到 FastAPI。FastAPI 将源代码保存在 PostgreSQL 中,将更改渲染为 HTML,并将结果上传到 Blob,以便人们可以通过 CDN 阅读已发布的笔记本,而无需启动 Python 内核。
  • 共享更新: 发布更改后,FastAPI 通过 Vercel Queues 发送消息。每个连接了浏览器的后端实例都会收到通知,并通过 WebSockets 发送更新的笔记本列表,以便人们无需重新加载即可看到更改。
  • 协助编写代码: 代理使用 AI SDK for Python,并在 Vercel Workflows 中运行,后者保存执行状态并重试失败的步骤。聊天历史保留在 PostgreSQL 中,而笔记本编辑和执行工具通过连接的浏览器工作,浏览器通过 FastAPI 将结果发送回来以恢复工作流。

GitHub 上的源代码包含完整的应用程序及其部署配置。你可以用它来探索这些集成,或作为你自己 Python 应用程序的起点。

投资 Python 社区

去年 12 月,由我和 Elvis Pranskevichus 领导的 Gel Data 团队加入了 Vercel,以构建 Python 支持并继续我们的开源工作。

与此同时,我们宣布赞助 Python Software Foundation,并承诺通过该基金会资助 Serhiy Storchaka 一年的 CPython 维护工作。截至 2026 年,Serhiy 已向 CPython 主分支提交了 600 多次提交。

今年我们还赞助了 PyCon US 和 EuroPython,我和团队在那里与 Python 开发者会面,了解他们遇到的困难。这些对话帮助我们确定接下来要修复什么。

Vercel Python 团队在 PyCon US 2026 上。

Vercel Python 团队在 PyCon US 2026 上。

我们还发布了 PEP 827,如果被接受,它将添加类型操作功能,可以帮助 FastAPI 等框架以更少的样板代码和更精确的类型检查提供更简单的 API。

Vercel 上 Python 的下一步

我们正在继续改进 Python SDK、运行时性能和开发工作流,以服务于开发者和编码代理。如果你遇到部署问题或发现 Python SDK 中缺少某些功能,请在 Vercel Community 中分享你的反馈,以便团队据此指导相关工作。

资源

  • 让你的代理查阅知识库中的 Python 指南
  • 一键部署 Python 中的 eve 代理