Rerun 0.27 迁移指南:Intel Mac 支持终止、Python 3.10 底线与 TimePanel 游标选项移除
【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun
本篇指南面向所有从 Rerun 0.26 升级到 0.27 的开发者,系统梳理该版本引入的三项破坏性变更:Intel(x86)版 macOS 官方支持终止、Python SDK 最低版本提升到 3.10,以及TimePanel蓝图上的*_cursor选项移除。读完本文,你将明确每一项变更对现有工程的具体影响、如何检测自身环境是否受影响,以及对应的升级与替代方案。
迁移背景:0.27 的三项破坏性变更总览
Rerun 0.27(迁移文档见 docs/content/reference/migration/migration-0-27.md)是 0.26 之后的一次升级,共带来三项需要开发者注意的破坏性变更:
| 变更项 | 影响范围 | 核心结论 |
|---|---|---|
| 终止 Intel Mac 官方支持 | Python wheels 与预构建产物 | PyPI 上的 wheels 不再包含 x86_64 macOS 二进制,可自行从源码构建 |
| Python 最低版本提升至 3.10 | Python SDK | Python 3.9 已停止支持,不再提供对应 wheel |
TimePanel的*_cursor选项移除 | Python SDK 蓝图 API | sequence_cursor、duration_cursor、timestamp_cursor在 0.27.0 中无直接替代 |
需要说明的是,这份迁移指南属于 Rerun 早期版本的历史文档。当前仓库的迁移索引页 docs/content/reference/migration.md 中说明:0.34 及以后的破坏性变更与迁移指南已并入 CHANGELOG.md,0.33 及之前的版本仍然由独立的migration-0-X-Y.md系列文档覆盖。
终止 Intel Mac 官方支持:谁受影响、如何应对
变更内容
从 0.27 开始,Rerun 不再为 Intel(x86)架构的 macOS 提供官方支持。这直接意味着:
- PyPI 上发布的 Python wheels 不再包含 Intel Mac 的二进制;
- 其他预构建产物(如 rerun-cli、Rerun.app 等)同样不再提供 x86_64 macOS 版本。
这一决定在源码仓库的发布与 CI 脚本中可以得到印证:
- scripts/ci/build_and_upload_wheels.py 中,构建目标架构仅保留
x86_64与aarch64两个分支,且 macOS 目标统一映射为apple-darwin; - scripts/ci/sync_release_assets.py 中列出的 macOS 预构建产物(如
librerun_c-{tag}-aarch64-apple-darwin.a、rerun-cli-{tag}-aarch64-apple-darwin、Rerun-{tag}-aarch64-apple-darwin.app.tar.gz)均已切换为aarch64-apple-darwin命名,不再出现x86_64-apple-darwin的对应条目。
如何判断你是否受影响
在终端执行以下命令即可确认本机架构:
uname -m- 输出为
x86_64:说明你使用的是 Intel Mac,升级到 0.27 后将无法通过pip install rerun-sdk直接获取到包含二进制扩展的 wheel; - 输出为
arm64(Apple Silicon,如 M1/M2/M3 系列):不受此项变更影响,可继续使用官方预构建产物。
备选方案一:升级到 Apple Silicon
如果条件允许,迁移到 Apple Silicon(arm64)机器是最省事的路径。Rerun 对 Apple Silicon 的官方支持依然完整,BUILD.md 中还专门给出提示:在 Apple Silicon Mac 上从源码构建时,应确认rustc -vV输出的 host 为aarch64-apple-darwin,否则执行:
rustup set default-host aarch64-apple-darwin && rustup install 1.96.0备选方案二:从源码构建
Intel Mac 用户仍可以自行从源码构建 Rerun,官方在迁移文档中明确保留了这条路径,完整的构建指引见仓库根目录的 BUILD.md。构建的基本前提包括:
- 安装 Rust 工具链,并确认
cargo --version输出与 rust-toolchain 文件指定的版本一致(当前仓库要求 1.96.0); - 安装
pixi包管理器(仓库的 pixi.toml 定义了统一的环境与任务); - 克隆仓库后先运行
pixi run ensure-pyo3-build-cfg生成 PyO3 配置文件,否则直接调用cargo会报failed to open PyO3 config file错误(详见 BUILD.md)。
从源码构建意味着你不再依赖 PyPI 的预编译产物,因此不受 0.27 停止分发 Intel Mac 二进制的限制。
Python SDK:最低支持版本提升至 3.10
0.27 同时移除了对 Python 3.9 的支持,原因在于 Python 3.9 已到达官方生命周期终点(end-of-life),不再维护。这意味着:
pip install rerun-sdk时,Python 3.9 环境将无法解析到 0.27 及之后版本的 wheel;- 官方文档建议如有必要,将 Python 升级到 3.10 或更高版本。
这一约束在当前仓库的 Python SDK 工程配置中仍然有效:rerun_py/pyproject.toml 中声明:
requires-python = ">=3.10"升级检查清单
- 确认当前 Python 版本:
python3 --version- 若版本低于 3.10,使用系统包管理器、
pyenv或 conda 安装 Python 3.10+; - 在全新虚拟环境中重新安装 SDK:
python3 -m venv .venv && source .venv/bin/activate pip install --upgrade rerun-sdk- 运行
python -c "import rerun; print(rerun.__version__)"验证安装结果。
Python SDK:TimePanel的*_cursor选项移除
变更内容
0.27 中,TimePanel蓝图上的三个游标选项被整体移除:
sequence_cursorduration_cursortimestamp_cursor
官方迁移文档明确说明:这三个选项在 0.27.0 中没有直接替代品。也就是说,如果你此前通过蓝图 API 设置过这些选项,升级后必须删除相关代码,且不能期望以等价参数直接平移。
从源码看TimePanel蓝图当前的字段构成
当前仓库中TimePanel对应的蓝图类型定义为 panel_blueprint.def.rs(这是 Rerun 类型定义文件,会被re_types_builder解析以生成 Rust、Python 与 C++ 绑定)。可以看到TimePanelBlueprint现存的字段为:
| 字段 | 组件类型 | 说明 |
|---|---|---|
state | PanelState | 面板当前状态(展开/折叠等) |
timeline | TimelineName | 面板当前所在的时间线 |
playback_speed | PlaybackSpeed | 时间播放速度倍率 |
fps | Fps | 每秒帧数,仅适用于序列(sequence)时间线 |
play_state | PlayState | 当前是暂停、播放还是跟随状态 |
loop_mode | LoopMode | 时间循环方式,默认关闭 |
time_selection | AbsoluteTimeRange | 在时间面板上选中的时间范围 |
对照可见,sequence_cursor、duration_cursor、timestamp_cursor三个字段确实已从蓝图定义中彻底移除。TimePanel面板本身在 crates/panels/re_time_panel/src 中实现,其公共类型(TimePanel、TimePanelSource、TimePanelItem等)的导出见 crates/panels/re_time_panel/src/lib.rs。
迁移操作建议
- 全局搜索你的代码,定位所有
sequence_cursor、duration_cursor、timestamp_cursor的使用点; - 删除这些选项的设置代码——它们已不存在于 0.27 的 API 中,保留会导致编译或运行时报错;
- 如果依赖"定位到某个时间点播放"之类的行为,需自行评估新的替代方案,例如:
- 使用
play_state控制播放/暂停/跟随状态; - 使用
time_selection与loop_mode配合实现区间循环播放; - 或在数据侧记录自定义时间轴信息,通过
timeline字段切换视图所关注的时间线。
- 使用
升级总检清单
完成 0.26 → 0.27 的升级后,建议逐项核对:
uname -m确认 macOS 架构;Intel Mac 用户已决定升级硬件或改用源码构建(见 BUILD.md);python3 --version确认 Python ≥ 3.10;- 代码中已无
sequence_cursor/duration_cursor/timestamp_cursor引用; - 在全新虚拟环境中验证
pip install rerun-sdk与import rerun正常。
本文所涉及的迁移文档与实现证据均可在当前仓库中找到:迁移原文见 docs/content/reference/migration/migration-0-27.md,更早/更晚版本的迁移指南可从 docs/content/reference/migration.md 索引进入。
【免费下载链接】rerunVisualize, query, and stream to train on multimodal robotics data.项目地址: https://gitcode.com/GitHub_Trending/re/rerun
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考