
原生绑定、主流框架、数据库直连现在连 AI 库都能直接在边缘跑了小伙伴们你有没有过这种经历用 Python 写了半天的 FastAPI 接口部署的时候要么得配 Nginx、Gunicorn 折腾半天要么用 Serverless 平台不是不支持原生库、就是连数据库都连不上最后还得掏回 JS/TS 的老本行写边缘函数昨天 Cloudflare 扔了个重磅消息两年前推出的 Python Workers 正式进入 GA正式发布阶段这意味着 Python 已经成了 Cloudflare 开发者平台上一等公民你熟悉的 Python 代码、库和设计模式现在能无缝对接 Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues、Workflows 等所有 Cloudflare 平台服务甚至 FastAPI、Django、Flask 这些主流 Web 框架都能直接在边缘跑。之前用 Python Workers 的开发者最头疼的肯定是平台绑定的问题。以前要用 Cloudflare 的 Queue、KV 这些服务得在 RPC 边界手动把 Python 对象转成 TypeScript 对象比如往 Queue 里发个 Python 字典得写一堆胶水代码不仅麻烦还特别容易出错不管是人写还是 AI 辅助写都踩过这个坑。现在 GA 之后整个类型转换过程都被封装到了 Workers 运行时和 Python SDK 里你完全不用写任何 JavaScript 代码纯 Python 就能调用所有 Cloudflare 绑定之前要写胶水代码的地方现在直接原生调用就行。要是你习惯用 Web 框架写接口现在也不用改习惯。Cloudflare 内置了workers.asgi和workers.wsgi两个连接器异步框架比如 FastAPI 用 ASGI同步框架比如 Django 用 WSGI都能直接跑。你可能会问Workers 本身不就是个 Web 服务器吗为啥还要搞桥接其实 Python 的 WSGI/ASGI 是标准的 Web 应用通信规范不管是 Uvicorn 还是 Gunicorn 都是按这个规范来对接应用。现在 Workers 平台本身已经处理了全球负载均衡和无限扩容不需要在 Python Workers 里再跑一个服务器这两个连接器就是个极轻量的桥把 incoming 的 JavaScript 请求转成 Python 应用需要的 WSGI/ASGI 结构再把响应转回去开销极低。而且这两个连接器不光支持 FastAPI、Django、Flask所有遵循 WSGI/ASGI 接口的 Python Web 框架都能直接用。比如你有个最简单的 FastAPI 应用from fastapi import FastAPI app FastAPI() app.get(/) def read_root(): return {Hello: World}本地跑的话你一般会用uvicorn来启动放到 Python Workers 里只要加一行workers.asgi的桥接代码就行from fastapi import FastAPI from workers import asgi app FastAPI() app.get(/) def read_root(): return {Hello: World} entrypoint asgi.ASGIEntrypoint(app)同步框架比如 Django 就用workers.wsgi包用法完全一致。之前 Python Workers 还有个绕不开的大坑不支持 TCP 套接字导致数据库驱动根本用不了。要理解这个问题得看 WebAssembly 的运行机制Python 的数据库驱动比如aiomysql、asyncpg都是靠标准库的socket模块建连接普通环境下这个模块会调用操作系统的 POSIX 网络系统调用但在 WebAssembly 沙箱里这些网络系统调用都是默认失败的桩实现一开套接字就直接报错。Cloudflare 这次用 Workers connect API 实现了自定义的套接字系统调用当数据库驱动要开 TCP 连接的时候会把 Python 的套接字操作翻译成 Workers 运行时的 JavaScript 调用这个翻译是在系统调用层做的你的数据库驱动完全不用感知底层的实现差异之前用不了的aiomysql、asyncpg现在直接就能用Hyperdrive 的集成也顺理成章成了。你只要在 Wrangler 配置里加个 Hyperdrive 绑定写代码的时候跟本地连数据库一模一样就行[[hyperdrive]] binding HYPERDRIVE id 你的Hyperdrive实例ID比如用aiomysql连 MySQL 的代码跟本地开发几乎没区别import aiomysql import os hyperdrive env.HYPERDRIVE async def query(): conn await aiomysql.connect( hosthyperdrive.host, porthyperdrive.port, userhyperdrive.user, passwordhyperdrive.password, dbhyperdrive.database, ) async with conn.cursor() as cur: await cur.execute(SELECT 1) result await cur.fetchone() return result生态问题也是很多 Python 开发者关心的地方。因为 Python Workers 跑在 WebAssembly 沙箱里带 C/C/Rust 扩展的包都得交叉编译成 Wasm 才能用之前没有标准的交叉编译流程Cloudflare 团队得手动编译 hosting 自定义的 Wasm 包能用的库特别少。这次他们牵头提出了 PEP 783 提案标准化了 PyEmscripten 这个 Python WebAssembly 运行平台经过一年多的讨论已经正式通过现在包维护者可以直接给 PyEmscripten 平台构建 wheel 包不光能在 Cloudflare 上用所有支持 PyEmscripten 的环境都能用。同时他们还稳定了 Pyodide 的构建工具链给 cibuildwheel 加了 PyEmscripten 平台支持以后第三方包出 Wasm 版本的成本会越来越低。AI 场景现在更是 Python 的强项之前openai、langchain这些库依赖的 HTTP 客户端比如requests、httpx在 Python Workers 里用不了因为底层套接字有问题。Cloudflare 这次向上游贡献了代码让这些 HTTP 客户端能直接走 WebAssembly 环境里的 JavaScript fetch API加上新的套接字支持整个网络栈现在完全通顺了。现在你不仅能原生跑openai、langchain、mcp这些 AI 库还能结合 Workers AI 在 Cloudflare 全球网络的 GPU 上跑无服务器推理或者通过 Cloudflare AI Gateway 代理请求做 AI Agent、RAG 系统都完全没问题。现在 Cloudflare 已经放出了 python-workers-examples 仓库里面全是生产就绪的用法模式比如异步 AI 编排的图像生成应用、接 Bluesky Jetstream 的实时流处理、MCP 服务器、结合 Vectorize 的 RAG 系统都有现成代码。而且全产品的开发者文档都加了 Python 示例代码片段可以在 JS、TypeScript、Python 之间直接切换查文档的时候再也不用自己转语法了。对了你最想在 Python Workers 里先跑通哪个场景是 FastAPI 接口、AI Agent 还是数据库连接评论区聊聊或者直接去官方文档试试手。