核实 Workers Python 支持
听说现在“Cloudflare Workers“原生支持Python了,帮我查查消息真实度呢。然后我想问下应用场景呢?能举一些简单的例子么?
<details><summary>1 previous message</summary>
<details><summary>Searched the web</summary>
Searched the web for site.developers.cloudflare.com workers python overview beta
Searched the web for https://blog.cloudflare.com/python-workers-ga/
Searched the web for 'multiprocessing' in https://developers.cloudflare.com/workers/languages/python/stdlib/
</details>
</details>
消息是真的,而且刚刚正式上线。 我查了 Cloudflare 官方公告:截至今天 2026 年 9 月 22 日,Python Workers 已于 9 月 21 日宣布正式可用(GA),不再只是测试版。(blog.cloudflare.com)
1. “原生支持”是什么意思?
这里需要区分两个概念:
- 平台原生支持:是。 可以直接写 Python,由 Workers 提供运行环境,并接入数据库、文件存储、消息队列等服务。官方现在也支持 FastAPI、Django、Flask 等框架。(blog.cloudflare.com)
- 与普通 Linux 服务器上的 Python 完全一样:不是。 底层是 Pyodide,也就是编译到 WebAssembly 的 CPython,运行在 Workers 沙箱中,并非给你一台完整的 Python 服务器。(developers.cloudflare.com)
这也不是突然从零开始:2024 年 4 月 2 日就推出了公开测试版,这次的新闻重点是转为正式支持。(blog.cloudflare.com)
2. 能用来做什么?
可以把它理解为:把 Python 程序变成一个在线服务,由 Cloudflare 负责运行,不用自己维护服务器。 以下是基于官方能力整理的几个应用例子。(developers.cloudflare.com)
场景 |
简单例子 |
大致流程 |
|---|
小工具 API |
文本清洗、订单字段校验 |
提交数据 → Python 处理 → 返回 JSON |
网站或小程序后端 |
查询订单、保存表单 |
前端请求 → Python 接口 → 读写 D1 数据库 |
系统之间的自动化 |
收到订单通知后,转成另一系统要求的格式 |
接收 Webhook → 校验、转换 → 调用目标接口 |
AI 功能接口 |
摘要、翻译、提取文本中的订单信息 |
提交文本 → Python 调用 AI 服务 → 返回结果 |
文件处理流水线 |
上传小型 CSV,清洗字段后保存结果 |
文件放入 R2 → 队列触发处理 → 结果存回 R2 |
这些分别对应 Workers 的 HTTP 处理、数据库绑定、AI 服务以及 R2、Queues、Workflows 等能力;具体例子是应用设想,不是开箱即用的成品。(developers.cloudflare.com)
3. 一个直观的代码例子
比如做一个“把多余空格清理掉”的接口。按照官方的 Python 请求处理方式,核心代码可以这样写:(developers.cloudflare.com)
from workers import WorkerEntrypoint, Response
class Default(WorkerEntrypoint):
async def fetch(self, request):
if request.method != "POST":
return Response("Use POST", status=405)
body = await request.json()
text = str(body.get("text", ""))
cleaned = " ".join(text.split())
return Response.json({"result": cleaned})
这个示例的输入输出是:
输入:{"text": "Hello Python Workers"}
输出:{"result": "Hello Python Workers"}
这是核心逻辑示例,尚未实际部署;完整项目还需要 Workers 配置。官方提供 pywrangler 工具完成本地运行和部署。(developers.cloudflare.com)
4. 哪些地方不能想当然?
- 不是所有 Python 包都能直接装。 支持纯 Python 包及兼容的 WebAssembly 包;依赖 C/C++/Rust 扩展的库需要对应的兼容构建。(developers.cloudflare.com)
- 本地文件不是永久保存的。 内存文件系统是临时的,持久化应使用 R2、数据库等服务。(developers.cloudflare.com)
- 不能照搬桌面自动化程序。 多线程、多进程存在限制,也不是运行本机 Excel、操控 Windows 窗口的环境。(developers.cloudflare.com)
我的判断是:很适合拿一个“接收数据 → 处理或调用接口 → 返回结果”的 Python 小程序试水;不要直接把它理解成“任何本地 Python 脚本都能原封不动搬上云”。
感觉是要比5.6sol回答得好些,看着没以前那么难受了 ^-^