一个仅头文件的 C++11 库,用类似 STL 的语法在 C++ 中解析、构造、操作和序列化 JSON。
cloudpipe/cloudpickle
扩展 Python 的 pickle,可序列化 lambda、交互式定义的函数和类,便于把代码发送到远程节点执行。
- Star
- 1,947
- Fork
- 212
- 未关闭 Issue
- 124
- 最近提交
- 上个月
这是什么?
cloudpickle 是一个 Python 序列化库,能够处理标准库 pickle 无法序列化的对象,包括 lambda 函数,以及在脚本、交互式 shell 或 Jupyter 笔记本的 __main__ 模块中定义的函数和类。
它主要面向集群计算场景,即把 Python 代码通过网络发送到远程主机执行,有时需要靠近数据运行。与按模块引用的方式不同,cloudpickle 可以按值序列化函数和类;自 2.0.0 版本起,开发者还可以显式注册模块按值序列化,使工作节点无需安装该模块。
序列化数据只能在相同版本的 Python 之间传递,不支持也不建议用于长期存储。由于反序列化可能执行任意代码,只应加载来自可信来源的数据。
核心功能
- 01支持序列化 lambda 函数以及交互式定义的函数和类。
- 02支持按值而非按引用序列化函数和类。
- 03提供 register_pickle_by_value 接口,可为指定模块启用按值序列化。
- 04沿用标准 pickle 的 dumps 和 loads 接口,使用方式简单。
适用场景
- 在分布式计算框架中把 Python 函数发送到远程工作节点。
- 将 lambda 或 notebook 中定义的函数传递给并行处理任务。
- 在不重新安装模块的情况下,更新工作节点上的模块代码。
快速上手
- 1
从 PyPI 安装 cloudpickle
pip install cloudpickle
使用前须知
- 只能在完全相同版本的 Python 之间传递对象。
- 不支持也不建议用于长期对象存储。
- 只能加载来自可信来源的 pickle 数据,因为反序列化可能执行任意代码。
- 对可导入模块按值序列化的功能仍处于实验阶段。
标签
常见问题
- cloudpickle 是什么?
- 扩展 Python 的 pickle,可序列化 lambda、交互式定义的函数和类,便于把代码发送到远程节点执行。 cloudpickle 是一个 Python 序列化库,能够处理标准库 pickle 无法序列化的对象,包括 lambda 函数,以及在脚本、交互式 shell 或 Jupyter 笔记本的 __main__ 模块中定义的函数和类。
- cloudpickle 可以免费使用吗?用的什么许可证?
- cloudpickle 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- cloudpickle 还在维护吗?
- 半年内有更新。cloudpickle 最近一次提交是在 2026年9月10日。
- cloudpickle 适合用来做什么?
- 在分布式计算框架中把 Python 函数发送到远程工作节点。 将 lambda 或 notebook 中定义的函数传递给并行处理任务。 在不重新安装模块的情况下,更新工作节点上的模块代码。
- cloudpickle 怎么安装和运行?
- 从 PyPI 安装 cloudpickle: pip install cloudpickle
- 在哪里获取 cloudpickle?
- 源代码和安装说明在 GitHub 上:https://github.com/cloudpipe/cloudpickle
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
5.1万7511C++MIT更新于 3小时前
一种声明式模式语言,可由同一份 .skir 文件生成 TypeScript、Python、Java、Go、C++ 等多语言的类型安全数据模型与 RPC 代码。
31610TypeScriptMIT更新于 17天前
一个在 Kubernetes 上部署和管理 Ray 应用的 Operator,通过 RayCluster、RayJob 和 RayService 资源运行工作负载。
2740894GoApache-2.0更新于 昨天
由志愿者电脑共同提供算力的免费分布式 AI 图像与文本生成服务。
1634180PythonAGPL-3.0更新于 8天前
开源分布式计算编排框架,将计算任务调度到数据所在位置执行,减少大数据迁移。
874105GoApache-2.0更新于 前天
基于 Django 构建 Web API 的工具包,提供序列化、认证、视图集和可浏览的 API 界面。
3万7093PythonOther更新于 前天