經過兩年的預覽期,Cloudflare 已正式將 Python Workers 發布為其開發平台上的穩定且一級支援的語言選項。此版本利用 Pyodide 在基於 V8 的 workerd 執行環境中,運行編譯為 WebAssembly 的 Python 程式碼。

這項發布標誌著 Python 生態系在邊緣運算領域的重要里程碑,讓開發人員能夠在邊緣端利用 Python 龐大的函式庫生態系。它為伺服器無架構提供了一個堅實的 JavaScript/TypeScript 替代方案,且無需單獨的伺服器執行個體。

主要限制在於 WebAssembly 虛擬機器中 multiprocessing 和 threading 模組無法運作,這限制了並行執行模型。本地開發體驗由 pywrangler 工具支援,該工具在緊湊的 workerd 二進位檔內運行包含 Pyodide/WASM 堆疊的完整模擬環境。

事件背景

WebAssembly (Wasm) 是一種二進位指令格式,設計為高階語言的可移植編譯目標,能在網頁瀏覽器及伺服器環境中實現接近原生的效能。Pyodide 是一個將 CPython 編譯為 WebAssembly 的 Python 發行版,使 Python 套件能在瀏覽器或 Node.js 環境中運行。Cloudflare 的 workerd 是驅動 Cloudflare Workers 的開源執行環境,為執行邊緣函式提供安全且隔離的環境。

社群觀察

社群成員欣賞透過 WebAssembly 運行 Python 的技術深度,但也注意到執行緒支援方面的限制。開發人員對本地開發工具特別感興趣,並重視使用 workerd 二進位檔在本地模擬完整堆疊的能力。