開發生態
Cloudflare 據報正式推出 Python Workers:支援 Pyodide 與主流框架,冷啟動及上游維護仍受質疑
AI 前線單一來源
核實資料不足
目前依單一來源整理,這是來源數量描述,不是對消息真假的判定。
本次未取得足夠原文證據
據 AI 前線報導,Cloudflare 已正式推出 Python Workers;這項平台在首個預覽版發布約兩年後,將 Python 與 JavaScript、TypeScript 並列為開發者平台支援的語言。Python Workers 可連接 Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues 和 Workflows,並支援 FastAPI、Django 與 Flask。
平台採用 Pyodide 執行 Python。為處理含 C、C++ 或 Rust 擴充功能的套件,Cloudflare 推動 PEP 783,並強化 Pyodide 建置工具鏈及 cibuildwheel 的 PyEmscripten 支援;Python 官方 PEP 文件顯示,PEP 783 定義了供 Pyodide 使用的二進位 Python 套件發行格式之 pyemscripten 平台標籤系列。報導稱,該提案經過一年以上後獲得通過,讓套件維護者能自行建置 wheel 套件,而不必依賴 Cloudflare 編譯與託管。
Cloudflare 也透過 Workers 的 connect API 實作 WebAssembly 沙箱中的套接字呼叫,讓 aiomysql、asyncpg 等驅動程式無須修改即可運作,並支援 Hyperdrive。requests、httpx 等 HTTP 用戶端則會在 WebAssembly 環境透過 JavaScript 的 fetch API 路由,報導稱 OpenAI、LangChain 與 MCP 因此可在 Worker 中執行。Python 綁定也改為由執行階段與 SDK 自動處理型別轉換;workers.asgi 和 workers.wsgi 則把 JavaScript 請求轉換為 ASGI、WSGI 應用程式所需的結構。
不過,urllib3 維護者 illia-v 在 Hacker News 表示,Emscripten 後端仍屬實驗性功能,且被排除在 urllib3 安全策略之外。他舉出的 CVE-2025-50182 顯示,請求改由 fetch 路由時,urllib3 的重新導向控制未按預期運作;他也警告瀏覽器網路語意與一般 urllib3 後端不同,可能還有其他差異。爭議之一是 Cloudflare 資助上游功能貢獻者,與資助最終負責維護專案的維護者並不相同。
冷啟動效能也未有明確的新數據。Wasmer 創辦人 Syrus Akbary 引用該公司較早發布的基準測試稱,最簡 Python 應用程式在 Wasmer Edge 的啟動時間約為 60 毫秒,在 Cloudflare Workers 約為 900 毫秒,並要求 Cloudflare 提供使用及不使用原生套件時的 p50、p95 數據。Cloudflare 作者 Dominik Picheta 回應,記憶體快照已顯著改善冷啟動,分片技術也能降低冷啟動發生頻率;Akbary 則指出,Cloudflare 先前文章報導的啟動時間約為 1.027 秒,並追問是否已重新測量,Cloudflare 尚未在材料中提供新的數據。
版本耦合是另一項疑慮。Picheta 表示相容性標誌可指定 Python 3.12、3.13 或 3.14,但較舊版本會對應功能較少的 Pyodide,且不包含 JSPI;Akbary 認為這也代表該標誌會影響 workerd。另有評論者尚未測試便推測,這種架構可能使 Worker 的記憶體配置增加數十 MB。Cloudflare 表示後續計畫提升 Python Workers 效能並改善記憶體效率,但目前尚未公布足以比較的最新啟動與記憶體數據。
讀原始報導背景
PEP 783 提議為 Pyodide 的二進位 Python 套件發行格式制定新的平台標籤系列,名稱為 pyemscripten。這項標準與 Python Workers 在 WebAssembly 環境中處理含原生擴充套件的套件有關。