Isaac Lab 仓库克隆与 isaaclab.sh / isaaclab.bat 命令行工具完全指南
Isaac Lab 仓库克隆与 isaaclab.sh / isaaclab.bat 命令行工具完全指南
📅 发布时间:2026/9/17 2:12:27👁 浏览次数:
Isaac Lab 仓库克隆与 isaaclab.sh / isaaclab.bat 命令行工具完全指南【免费下载链接】IsaacLabUnified framework for robot learning with multi-physics/renderer support项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab本篇指南以 Isaac Lab 官方安装文档中的「Cloning Isaac Lab」章节src_clone_isaaclab.rst为核心完整讲解从克隆仓库、理解仓库根目录辅助执行器到使用./isaaclab.shLinux与isaaclab.batWindows完成模块化安装、环境创建、代码格式化、测试与文档构建等全流程操作。读完本文你将掌握 Isaac Lab 从源码安装的完整命令体系并理解每条命令背后的底层实现机制。前置准备Fork 与分支选择官方文档建议非强制如果你打算为 Isaac Lab 项目贡献代码推荐先对 Isaac Lab 仓库创建 Fork如果只是使用框架则无需 Fork。若已 Fork请将下方所有克隆命令中的isaac-sim替换为你的 GitHub 用户名。需要特别说明的是安装文档中的克隆命令并非手写死而是由 Sphinx 扩展isaaclab-clone-commands指令动态生成的实现在 docs/_extensions/isaaclab_docs.py 中。该指令会根据文档构建配置自动填入当前版本对应的分支名默认值isaaclab_latest_branch为release/3.0.0-beta2若构建时启用了 Sphinx multiversionsmv_current_version则会使用当前文档版本对应的分支。这意味着你克隆的始终是与所读文档版本匹配的分支避免文档与代码脱节的问题。克隆 Isaac Lab 仓库进入你的项目工作区使用以下任一方式克隆仓库# SSH 方式需已配置 SSH Key git clone gitgithub.com:isaac-sim/IsaacLab.git --branch release/3.0.0-beta2 cd IsaacLab # HTTPS 方式 git clone https://github.com/isaac-sim/IsaacLab.git --branch release/3.0.0-beta2 cd IsaacLab注--branch后的分支名以安装文档构建时固定的版本为准此处为当前仓库文档默认值也可以git clone后通过git checkout切换到任意目标版本。克隆完成后仓库根目录下即可看到两个平台各自的辅助执行器isaaclab.shLinux与isaaclab.batWindows。它们是整个 Isaac Lab 开发流程的入口本文接下来将围绕它们展开。理解辅助执行器isaaclab.sh 与 isaaclab.bat 的底层实现这两个脚本不是简单的批处理封装而是加载 Isaac Lab CLI 的统一入口。以 isaaclab.sh 为例其执行流程如下定位仓库根目录通过${BASH_SOURCE[0]}计算脚本所在目录并导出ISAACLAB_PATH。按优先级选择 Python 解释器优先使用激活的虚拟环境VIRTUAL_ENV其次 conda 环境CONDA_PREFIX再依次回退到仓库内env_isaaclab/bin/python、本地 Isaac Sim 的_isaac_sim/python.sh最后才是系统python3。Windows 版 isaaclab.bat 逻辑一致只是路径换为%VIRTUAL_ENV%\Scripts\python.exe等。注入 PYTHONPATH将source/isaaclab加入PYTHONPATH从而能够import isaaclab.cli。同步 Isaac Sim 环境若存在本地 Isaac Sim 目录_isaac_sim则 source 其setup_conda_env.shWindows 为setup_conda_env.bat使PYTHONPATH/PATH/EXP_PATH正确而不依赖 conda 的 activate.d 钩子。执行 CLI最终调用python -c from isaaclab.cli import cli; cli() $将全部参数转交给 Python 侧的参数解析器定义于 source/isaaclab/isaaclab/cli/init.py。因此所有./isaaclab.sh的子命令本质上都由isaaclab.cli.cli()中的 argparse 解析并分派执行。下面先看--help输出的完整内容再逐一剖析各参数。Linux 下查看帮助./isaaclab.sh --help输出usage: isaaclab.sh [-h] [-i [INSTALL]] [-f] [-p ...] [-s ...] [-t ...] [-o ...] [-v] [-d] [-n ...] [-c [CONDA]] [-u [UV]] Isaac Lab CLI options: -h, --help show this help message and exit -i [INSTALL], --install [INSTALL] Install Isaac Lab submodules and RL frameworks. Accepts a comma-separated list of submodule names, one of the RL frameworks, or a special value. Isaac Lab Submodules: assets, physx, contrib, mimic, newton, ov, rl, tasks, teleop, visualizers. Any submodule accepts an editable selector, e.g. visualizers[all|kit|newton|rerun|viser], rl[rsl_rl|skrl]. RL frameworks: rl_games, rsl_rl, sb3, skrl, robomimic. Passing an RL framework name installs all Isaac Lab submodules that framework. Special values: - all - Install all Isaac Lab submodules all RL frameworks (default). - none - Install only the core isaaclab package. - empty (-i or --install without value) - Install all Isaac Lab submodules all RL frameworks. -f, --format Run pre-commit to format the code and check lints. -p ..., --python ... Run the python executable provided by Isaac Sim or virtual environment (if active). -s ..., --sim ... Run the simulator executable (isaac-sim.sh) provided by Isaac Sim. -t ..., --test ... Run all python pytest tests. -o ..., --docker ... Run the docker container helper script (docker/container.sh). -v, --vscode Generate the VSCode settings file from template. -d, --docs Build the documentation from source using sphinx. -n ..., --new ... Create a new external project or internal task from template. -c [CONDA], --conda [CONDA] Create a new conda environment for Isaac Lab. Default name is env_isaaclab. -u [UV], --uv [UV] Create a new uv environment for Isaac Lab. Default name is env_isaaclab.Windows 下查看帮助isaaclab.bat --help输出与 Linux 版本一致仅模拟器可执行文件名为isaac-sim.batusage: isaaclab.bat [-h] [-i [INSTALL]] [-f] [-p ...] [-s ...] [-t ...] [-o ...] [-v] [-d] [-n ...] [-c [CONDA]] [-u [UV]] Isaac Lab CLI options: -h, --help show this help message and exit -i [INSTALL], --install [INSTALL] Install Isaac Lab submodules and RL frameworks. Accepts a comma-separated list of submodule names, one of the RL frameworks, or a special value. Isaac Lab Submodules: assets, physx, contrib, mimic, newton, ov, rl, tasks, teleop, visualizers. Any submodule accepts an editable selector, e.g. visualizers[all|kit|newton|rerun|viser], rl[rsl_rl|skrl]. RL frameworks: rl_games, rsl_rl, sb3, skrl, robomimic. Passing an RL framework name installs all Isaac Lab submodules that framework. Special values: - all - Install all Isaac Lab submodules all RL frameworks (default). - none - Install only the core isaaclab package. - empty (-i or --install without value) - Install all Isaac Lab submodules all RL frameworks. -f, --format Run pre-commit to format the code and check lints. -p ..., --python ... Run the python executable provided by Isaac Sim or virtual environment (if active). -s ..., --sim ... Run the simulator executable (isaac-sim.bat) provided by Isaac Sim. -t ..., --test ... Run all python pytest tests. -o ..., --docker ... Run the docker container helper script (docker/container.sh). -v, --vscode Generate the VSCode settings file from template. -d, --docs Build the documentation from source using sphinx. -n ..., --new ... Create a new external project or internal task from template. -c [CONDA], --conda [CONDA] Create a new conda environment for Isaac Lab. Default name is env_isaaclab. -u [UV], --uv [UV] Create a new uv environment for Isaac Lab. Default name is env_isaaclab.参数逐项解析与源码佐证对照 CLI 解析器源码 中的 argparse 定义各参数的语义如下参数含义说明-i, --install [INSTALL]安装 Isaac Lab 子模块与 RL 框架接受逗号分隔的子模块列表、RL 框架名或特殊值nargs?constall使「不带值」等价于all-f, --format运行 pre-commit 格式化代码并检查 lint分派到command_format()-p, --python ...运行 Isaac Sim 或虚拟环境提供的 Python带参数时执行run_python_command不带参数时进入交互式解释器-i-s, --sim ...运行 Isaac Sim 模拟器可执行文件分派到command_run_isaacsim()-t, --test ...运行全部 pytest 测试分派到command_test()-o, --docker ...运行 Docker 容器辅助脚本对应 docker/container.sh-v, --vscode从模板生成 VSCode 设置文件分派到command_vscode_settings()-d, --docs用 Sphinx 从源码构建文档分派到command_build_docs()-n, --new ...从模板创建外部项目或内部任务分派到command_new()-c, --conda [CONDA]为 Isaac Lab 创建 conda 环境默认环境名env_isaaclabconst值-u, --uv [UV]为 Isaac Lab 创建 uv 环境默认环境名env_isaaclab此外CLI 还内置了两个便捷子命令见源码中的train()与play()./isaaclab.sh train [args]会直接调用 scripts/reinforcement_learning/train.py./isaaclab.sh play [args]调用 scripts/reinforcement_learning/play.py分别对应统一入口的强化学习训练与推理脚本。深入-i/--install模块化安装机制-i是使用频率最高的参数。需要澄清的是帮助文本中「Submodules: assets, physx, contrib, mimic, newton, ov, rl, tasks, teleop, visualizers」是简化的旧版描述当前源码source/isaaclab/isaaclab/cli/commands/install.py中的实际机制更加精细详见官方 selective_install.rst。核心子模块总是安装无论选择哪种安装方式以下source/下的包都会以 editable 方式安装顺序有讲究isaaclab必须排第一保证下游包解析到本地副本isaaclab、isaaclab_ppisp、isaaclab_assets、isaaclab_contrib、isaaclab_experimentalisaaclab_newton、isaaclab_ov、isaaclab_ovphysx、isaaclab_physxisaaclab_rl、isaaclab_tasks、isaaclab_tasks_experimental、isaaclab_visualizers特殊值all默认即裸-i或-i all核心子模块 可选子模块mimic、teleop 自动附加特性newton、rl、visualizer不安装contrib、ov的运行时依赖也不安装 Isaac Sim pip 包需要时须显式指定。core仅核心子模块不含可选子模块与任何附加依赖旧名none已作为向后兼容别名保留。可选子模块Token安装内容mimicisaaclab_teleop与isaaclab_mimic模仿学习工具teleop仅isaaclab_teleopLinux x86_64附加特性集在核心包上安装重型可选依赖Token安装内容newtonNewton 物理依赖作用于isaaclab_newton、isaaclab_physx、isaaclab_visualizers不支持选择器rl[framework]RL 框架 extras选择器rsl-rl、skrl、sb3、rl-games省略选择器则安装全部框架visualizer[backend]可视化后端 extras选择器rerun、viser、newton、kit省略则安装全部contrib[feature]Contrib 运行时 extras选择器rlinf裸contrib不安装额外依赖源码包已在核心中ov[runtime]OV 运行时 wheel选择器ovrtx、ovphysx、all裸ov不安装额外依赖isaacsimIsaac Sim pip 包仅在 Isaac Sim 未安装时使用多个 token 可用逗号组合[、]内的逗号会被保留见源码中的split_install_items未知 token 会打印警告并跳过。Linux 下包含方括号的选择器需要加引号例如# 默认核心 可选子模块 newton/rl/visualizer 附加特性 ./isaaclab.sh -i # 只装核心包不装任何可选内容 ./isaaclab.sh -i core # Newton 物理 RSL-RL常见的 kit-less 组合 ./isaaclab.sh -i newton,rl[rsl-rl] # Newton OVRTX 渲染器 RSL-RL Newton 可视化后端 ./isaaclab.sh -i newton,ov[ovrtx],rl[rsl-rl],visualizer[newton] # Contrib 的 rlinf 运行时依赖 ./isaaclab.sh -i contrib[rlinf]Windows 下等价命令批处理中引号不可省略isaaclab.bat -i isaaclab.bat -i core isaaclab.bat -i newton,rl[rsl-rl] isaaclab.bat -i newton,ov[ovrtx],rl[rsl-rl],visualizer[newton] isaaclab.bat -i contrib[rlinf]安装流程中的关键实现细节从command_install()源码install.py可以看到一次-i背后并非简单的pip install而是一整套环境自检与修复流水线系统依赖准备Linux 上检查并安装cmake与build-essentialARM 平台如 DGX Spark还会额外安装对应版本的 Python dev 头文件、GL/X11 开发头文件等。Isaac Sim 处理若 token 中含isaacsim且环境中未安装则从https://pypi.nvidia.com安装isaacsim[all]若检测到 Isaac Sim 自带的pip_prebundle目录中的 torch 会遮蔽环境安装的版本则先卸载 pip 版 torch 栈。PyTorch 版本校正_ensure_cuda_torch()会按架构强制安装固定版本——x86_64 上为torch2.10.0/torchvision0.25.0cu128构建ARM 上为cu130构建。子模块 editable 安装对source/下每个子模块执行pip install --editable并按各子模块 config/extension.toml 中的isaac_lab_settings.pip_upgrade_dependencies做定向升级。prebundle 重指向与完整性校验将 Isaac Sim 预捆绑包重指向当前环境site-packages并检测新增的悬空符号链接防止破坏扩展启动。收尾非容器环境下自动调用command_vscode_settings()生成 VSCode 配置。克隆安装之后下一步路线图克隆与 CLI 只是入口完整源码安装流程对应 source_installation.rst还包括建立 Isaac Sim 符号链接将本地构建/安装的 Isaac Sim 链接为仓库内_isaac_sim见 src_symlink_isaacsim.rst使包装脚本与 CLI 能自动发现模拟器。构建与安装 Isaac Lab在正确激活的环境中执行./isaaclab.sh -i或按需选择模块化安装参数。验证安装运行环境列表或示例脚本确认可用见 src_verify_isaaclab.rst例如用./isaaclab.sh -p scripts/environments/list_envs.py列出全部已注册任务环境。日常开发中-v生成 VSCode 配置、-f统一代码风格、-t运行测试、-d本地构建文档配合-c/-u快速创建隔离环境共同构成一套覆盖「环境搭建—开发—验证—文档」的完整工具链。【免费下载链接】IsaacLabUnified framework for robot learning with multi-physics/renderer support项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考