2.7.17 与 Coiled 配合使用
3 分钟阅读
2.7.17 与 Coiled 配合使用
Coiled 是一个无服务器、注重用户体验的云计算平台,让你可以轻松在云端硬件(AWS、GCP 和 Azure)上运行代码。
本指南展示如何使用 uv 管理依赖、使用 Coiled 部署到云端,从而在云上运行 Python 脚本。
用 uv 管理脚本依赖
注意
本指南通篇使用这个具体示例,但任何 Python 脚本都可以与 uv 和 Coiled 配合使用。
我们以如下脚本为例:
| |
该脚本使用 pandas 加载托管在 S3 公共存储桶中的 Parquet 文件,然后打印前几行。它使用内联脚本元数据列出自己的依赖。
在本地运行该脚本时,例如:
| |
uv 会自动创建虚拟环境并安装其依赖。
关于在 uv 中使用内联脚本元数据的更多内容,请参阅脚本指南。
用 Coiled 在云端运行脚本
使用内联脚本元数据使脚本完全自包含:它包含了运行所需的信息。这使脚本更容易在其他机器(例如云端机器)上运行。
有很多场景需要本地工作站之外的资源,例如:
- 处理大量云端托管的数据
- 需要 GPU 之类的加速硬件,或内存更大的大型机器
- 用数百或数千个不同输入并行运行同一个脚本
Coiled 让在云端硬件上运行代码变得简单。
首先,使用 coiled login 登录 Coiled:
| |
如果你还没有 Coiled 账号,系统会提示你创建 —— 开始使用 Coiled 是免费的。
要让 Coiled 在 AWS 的虚拟机上运行该脚本,请在文件顶部添加两行注释:
| |
提示
虽然 Coiled 支持 AWS、GCP 和 Azure,但本示例假设使用 AWS(参见上面的
region选项)。如果你是 Coiled 新用户,会自动获得一个运行在 AWS 上的免费账号。如果你不在 AWS 上运行,可以为你所用的云服务商指定有效的region,或者删除上面的region行。
这些注释告诉 Coiled 在运行脚本时使用官方 uv Docker 镜像(确保 uv 可用),并在 AWS 的 us-east-2 区域运行(本示例的数据文件恰好在那里),以避免任何数据传出费用。
要提交批处理任务让 Coiled 运行,请使用 coiled batch run 在云端执行 uv run 命令:
| |
此前在本地运行的同一流程,现在运行在 AWS 的远程云虚拟机上。
你可以在 cloud.coiled.io 的 UI 中,或用终端里的 coiled batch status、coiled batch wait 和 coiled batch logs 命令监控批处理任务的进度。

注意我们还可以指定更多配置,例如实例类型(默认是 4 核、16 GiB 内存的虚拟机)、磁盘大小、是否使用竞价实例等。更多细节请参阅 Coiled Batch 文档。
关于 Coiled 的更多细节,以及它如何帮助你应对其他用例,请参阅 Coiled 文档。