• ktieggboy

    核实 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回答得好些,看着没以前那么难受了 ^-^

    主楼
  • sinstar

    https://blog.cloudflare.com/python-workers-ga/

    官网发的博客都不信了是吧

    #1
  • ktieggboy

    ^-^ 现在都是直接拿ai当搜索引擎用

    #2

发表回复

登录后回复