Pywrangler ↗ 是用于管理包和 Python Workers 的 CLI 工具。 它旨在作为 wrangler 的包装器,为你设置完整的环境,包括在部署时将包打包到 Worker 包中。
要开始使用,创建一个包含以下内容的 pyproject.toml 文件:
[project]
name = "YourProjectName"
version = "0.1.0"
description = "Add your description here"
requires-python = ">=3.13"
dependencies = [
"fastapi"
]
[dependency-groups]
dev = [
"workers-py",
"workers-runtime-sdk"
]以上配置将允许你的 Worker 依赖 FastAPI ↗ 包。
要在本地运行 Worker:
uv run pywrangler dev要部署 Worker:
uv run pywrangler deploy你的依赖项将在部署时自动与你的 Worker 打包在一起。
pywrangler CLI 还支持 wrangler 工具支持的所有命令,有关完整命令列表,请运行 uv run pywrangler --help。
Python Workers 支持 PyPI ↗ 上的纯 Python 和 PyEmscripten ↗ Python 包。 此外,Python Workers 支持 Pyodide ↗ 中包含的包。
Python 包的 WebAssembly 支持仍处于早期阶段,某些包可能尚未作为 PyPI 上的 PyEmscripten wheel 提供。 如果你想使用的包尚不可用,我们鼓励你联系包维护者并请求 PyEmscripten wheel。 你也可以在 Cloudflare Workers Runtime GitHub 仓库的 Python Packages Discussions ↗ 中发起讨论——我们很乐意帮助你与包维护者沟通。
仅支持能够异步发出请求的 HTTP 库。目前,这些包括 aiohttp ↗ 和 httpx ↗。你还可以使用 JavaScript 的 fetch() API,通过 Python Workers 的外部函数接口(FFI)发出 HTTP 请求。