尧图精选

Habitat v0.1.7安装指南:conda与源码编译避坑全解析

🕒 发布时间:2026/9/18 14:40:42 📁 来源:尧图网络
1. 安装前先弄明白v0.1.7的来龙去脉比多敲十条命令更值网上关于Habitat v0.1.7的安装教程其实不少但大部分只写到“conda install 三行搞定”。真按那些步骤操作的时候卡在git clone、依赖下载、场景数据下载上的人十个里有六七个。这篇教程不准备复述官方README重点把那些“网络相关”的脏活讲透git clone失败、下载中断、进度条卡死、Win11下有线上网还不稳定。花两分钟把版本关系和模块结构捋清楚后面每一步你都知道自己在装什么排错才有方向。简单说一句背景Habitat是Meta原Facebook开源的具身智能研究平台核心价值是提供一个高保真的3D室内场景模拟器让虚拟机器人在里面走、看、操作。它跑在GPU上做实时渲染支持RGB-D、语义分割、体感传感器仿真这几年做机器人导航、交互式决策、多模态智能体研究的人基本绕不开它。你标题里看到的“Habitat-v0.1.7”指的是habitat-sim这个C仿真核心的Git标签版本不是Python库的release也不是habitat-lab任务的版本。搞清楚这个区别是后面所有排查的起点。1.1 Habitat、habitat-sim和habitat-lab是三层东西不要混为一谈很多新手第一天就栽在概念混淆上。Habitat项目在2019年做了一次大拆分拆完之后的架构是这样三层habitat-sim底层3D模拟器纯C写的负责场景加载、物理引擎、传感器渲染、agent控制对外提供Python绑定接口。你安装麻烦的大量依赖Magnum、Assimp等都是这一层的。habitat-lab基于habitat-sim构建的Python框架定义任务、数据集、评估指标比如“导航到指定目标”“物体抓取”这类任务都在这一层配置。它相当于sim的“玩法规则层”。habitat-baselines预训练模型和baseline算法实现比如经典的点导航PPO、碰撞惩罚模型等对于做强化学习的人来说是参考模板。v0.1.7这个标签属于habitat-sim。装好它之后你import的是habitat_sim跑起来的是仿真环境接下来可以再在上面接入habitat-lab做任务。所以这篇文章从标题到正文主线都围绕habitat-sim v0.1.7的安装展开。1.2 为什么“v0.1.7”这个版本值得单独写一篇教程Habitat-sim版本迭代很快但老项目复现有个尴尬现实论文里写的代码和配置经常锁定在某个特定旧版本上偏偏这些旧版本的编译依赖、conda包行为、数据集下载方式和今天的新版差别很大。我把v0.1.7单独拎出来有三个原因第一v0.1.7是整个项目早期较稳定的一个里程碑在2019-2020年的导航和交互论文里出现频率很高。很多早年开源代码的requirements里写死的就是它。第二v0.1.7的conda包在aihabitatchannel下还有保留可以直接装预编译版本不需要从源码折腾这是它比更老版本幸福的地方。但它的依赖链又不如新版那么“宽容”对Python版本、系统库版本有隐形的挑剔。第三这个版本处在一个尴尬的中间态官方文档还残留着早期“一键安装”的描述但实际下载和编译时你会遇到一堆网络问题。所以值得把“怎么绕开网络坑”这件事专门拿出来讲。1.3 三条安装路线怎么选先看这张表安装v0.1.7大致有三条路线。我的建议非常直接能走conda就走conda网络问题能少一大半。安装路线核心命令难度对网络的要求适合人群conda预编译版conda install -c conda-forge -c aihabitat habitat-sim0.1.7低conda源可控可走国内镜像绝大多数场景第一推荐pip安装pip install habitat-sim低PyPI源版本较新v0.1.7时代pip支持并不成熟不推荐源码编译clone仓库后python setup.py install高源码包下载、依赖下载要改C源码、自定义场景、二次开发时选这条如果你只是跑实验、复现论文、调用Python接口请直接走conda线。源码编译适合什么人群你要改habitat-sim内部的渲染逻辑、要接入自己的C扩展、或者要调试仿真器底层那才需要。否则源码编译纯粹是给自己增加调试成本。2. 环境准备阶段先把坑填平操作系统、Python版本、GPU模式安装之前不把环境捋顺后面每一条报错都可能让你怀疑人生。我自己在多个机器上装过v0.1.7踩过最狠的一个坑就是操作系统选错了用Windows原生环境折腾了一整天最终发现这个版本压根不支持Windows。下面这部分按照“系统→Python→GPU→磁盘”的顺序一个一个说。2.1 Windows 11用户先装WSL2这个版本的原生Windows支持根本不存在如果你是Win11用户这条信息能帮你省下一下午。habitat-sim v0.1.7的官方支持范围基本是Linux和macOSWindows不在支持列表里。你在Windows上看到的一切编译教程哪怕能走通也都是绕了远路遇到C链接错误、Magnum依赖缺失的几率极高。正解是装WSL2在WSL2的Ubuntu环境里跑conda和habitat。WSL2提供完整的Linux内核对conda、CUDA、OpenGL都有兼容层”实测下来编译和运行的稳定性远好于Win11原生环境。Win11下装WSL2很简单管理员身份打开PowerShellwsl --install -d Ubuntu-20.04装完重启进入WSL2后继续后面的步骤。注意在WSL2里如果要使用GPU需要Windows侧安装和GPU匹配的驱动。v0.1.7年代的CUDA版本偏老在较新的驱动上一般能兼容但如果编译GPU版碰到CUDA版本不匹配的问题可以退而求其次选择headless模式后面细说。2.2 Python版本锁死3.7从一开始就固定住环境v0.1.7的conda包在编译时对Python版本有隐性要求实测最稳的是Python 3.7。用Python 3.8、3.9去装很可能遇到二进制包不兼容或者依赖冲突。所以从一开始就用conda创建虚拟环境不要在你的base环境里直接装。conda create -n habitat python3.7 -y conda activate habitat这件事必须放在最开始做。我见过太多人装到一半发现Python版本不对整个环境推倒重来。conda环境的好处是你后面把环境搞坏了直接conda remove -n habitat --all重新来也不影响系统Python。2.3 GPU版、headless版还是纯CPU编译按实际任务选v0.1.7在conda channel里提供了两个变体很容易混淆habitat-sim带OpenGL渲染的完整版适合有显示环境、需要可视化调试的场景。你在本地桌面Linux或者WSL2带WSLg的时候可以装这个。habitat-sim-headless无头版不需要显示器、不依赖X11适合服务器远程跑实验。它在渲染后用EGL或OSMesa做离屏渲染能够输出图像但不需要你真的看到窗口。怎么选如果你在服务器上通过SSH跑任务选habitat-sim-headless如果你在本地有图形界面想立刻看到仿真画面选habitat-sim。GPU和CPU的区别在conda包内部已经处理好了不需要你手动指定CUDA版本。这一点比源码编译省心得多。2.4 磁盘和带宽预算别等到下载到一半发现空间不够habitat-sim本体安装后占用大概几个GB含依赖库但这只是开胃菜。真正的空间大头是场景数据后面章节会详细讲。这里先提醒你区分预算habitat-sim核心依赖约2-3GBhabitat-test-scenes测试场景约100MB上下跑Demo够用Matterport3D或Gibson全量场景数据几十GB按需下载如果你准备跑完整实验建议给数据分区留出至少50GB空间。网络带宽方面核心代码和conda依赖的问题不大但场景数据下载动辄几个GB如果网络不稳提前做好断点续传的准备第三章细说。3. 先解决网络问题再谈安装git clone失败与数据下载中断的通用解法这一章是本文的重头戏也是几乎所有人在装habitat-sim时真正卡住的地方。现象五花八门本质集中在三类问题git clone拉不下来、conda/pip源不稳定、大文件下载到一半断掉。我把对应的处理方案一整套写出来你按顺序操作大部分网络问题都能绕过去。3.1 git clone失败时的三连检查postBuffer、超时设置、浅克隆官方源码编译教程的第一步永远是git clone而这一步就能卡掉大量人。典型的报错长这样error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset, errno 104 fatal: index-pack failed或者error: RPC failed; curl 18 transfer closed with outstanding read data remaining这类“大仓库clone到一半断掉”的问题本质是HTTP发包缓冲区太小或链路不稳定。我建议按以下顺序处理不要一上来就怀疑整个网络。第一步把Git的HTTP缓存调大。默认的http.postBuffer只有1MB在弱网环境下很容易触发RPC中断git config --global http.postBuffer 524288000 git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999第二步确认不是Git协议层面的网络限制可以顺手把压缩关闭试试git config --global core.compression 0第三步也是最实用的换成浅克隆shallow clone。habitat-sim的历史提交非常多完整clone体积大、中途失败率高浅克隆只拉最近一层提交体积小很多速度翻几倍git clone --depth 1 --branch v0.1.7 https://github.com/facebookresearch/habitat-sim.git cd habitat-sim这样拿到的代码就指向v0.1.7标签了不需要再做checkout。后续如果你想切到完整历史可以再git fetch --unshallow但不是必要操作。3.2 git clone不行就换思路下载ZIP包或走代码托管镜像浅克隆仍然失败的场景我也遇到过。这时候不用死磕git协议直接把仓库改成ZIP包下载在GitHub页面上切换到v0.1.7标签然后选择“Download ZIP”或者用命令行直接下载tarballwget -c https://github.com/facebookresearch/habitat-sim/archive/refs/tags/v0.1.7.tar.gz tar xzf v0.1.7.tar.gzwget -c的-c参数是断点续传下载中断后重新执行会从断点处继续比git clone的抗中断能力强很多。如果GitHub本身的下载链接也不稳定那就用国内代码托管平台做一个中转。Gitee码云支持从GitHub导入仓库操作很直接登录Gitee→新建仓库→选择“导入已有仓库”→粘贴GitHub的仓库地址→创建。导入完成后你的clone地址就变成了Gitee的地址git clone https://gitee.com/你的用户名/habitat-sim.git cd habitat-sim git checkout v0.1.7国内访问Gitee的速度一般要好很多。这个“中转”思路同样适用于其他体积较大的GitHub仓库不只是habitat-sim。3.3 conda和pip的国内源配置装了镜像源下载速度立刻上个台阶conda在安装habitat-sim时会拉取一堆依赖包如magnum、assimp、numpy等如果走默认官方源在国内的速度和稳定性都看运气。这里给出一个稳妥的配置方式用清华的conda镜像conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge注意habitat-sim专属的aihabitatchannel在清华镜像里不一定有所以安装命令里还是要显式加上官方channelconda install -y -c conda-forge -c aihabitat habitat-sim0.1.7这里的顺序有讲究-c conda-forge在前-c aihabitat在后conda会按顺序匹配依赖让conda-forge优先承担底层依赖包aihabitat专门提供habitat-sim本体冲突概率最小。如果你后续还会用pip安装habitat相关的Python包可以顺手把pip源也切到清华pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple3.4 大文件下载中断的处置姿势断点续传与多线程下载habitat-sim安装过程中的“大文件下载”主要是场景数据包动不动几个GB。这类下载如果直接在Python脚本里跑断掉一次就得从头再来心态很容易崩。更稳的姿势是先拿到直链再用支持断点续传和多线程的下载工具拉下来最后手动放到指定目录。Linux下推荐aria2多线程断点续传的能力非常成熟aria2c -x 8 -s 8 -c -k 1M https://下载直链参数含义-x 8表示单文件最多8条连接-s 8表示将文件拆成8段并行下载-c允许断点续传-k 1M设置每段大小。实测同样的网络环境下多线程下载速度能比单线程快好几倍而且断线后重新敲同一行命令会从断点继续而不是从头开始。Windows端则可以用支持断点续传的下载工具或者WSL2里直接调用aria2c。下载完成后记得校验文件完整性一般脚本或下载页面会给出MD5或SHA256echo 预期的哈希值 文件名 | md5sum -c -3.5 Windows 11下有线上网卡顿我建议按这个顺序排查标题里出现了“有线网络卡顿”这里专门给Win11用户写一个排查顺序。这个排查思路同样适用于你在Win11下装WSL2、下载大文件时频繁断连的情况不用一上来就怀疑是源码问题。第一检查网卡省电设置。Win11默认会让网卡在不活跃时进入节电状态但下载场景下频繁切换省电反而造成卡顿。打开设备管理器→网络适配器→选中你的有线网卡→属性→电源管理取消“允许计算机关闭此设备以节约电源”。第二更新网卡驱动。Intel的I219-V、Realtek的千兆网卡在Win11下都有过驱动不兼容的案例去主板厂商官网下载对应版本别用Windows自动更新凑合。第三排除DNS解析慢的干扰。下载连接建立之前要先解析域名DNS慢会造成“等了很久才开始下载”的错觉。可以把DNS改成223.5.5.5阿里DNS或114.114.114.114再观察。第四关闭IPv6协议栈。部分路由器和Win11的IPv6握手存在兼容问题会造成EPERM、连接重置。在网络适配器属性里把“Internet Protocol Version 6 (TCP/IPv6)”前面的勾去掉保留IPv4就行。第五物理层检查。网线水晶头接触不良、网口松动、交换机过热这些老问题一样会造成有线网络周期性卡顿。最简单的验证方式换一根网线、换个交换机端口或者直接改用手机USB共享网络试试如果问题消失说明问题出在物理链路。这套排查做完再回到conda或aria2下载成功率会高很多。4. 主线通过conda安装habitat-sim v0.1.7的完整过程环境准备好、网络问题有了对应方案下面开始正式安装。这一章是主线路默认你已经按第2章建好了conda环境网络也做了基础优化。4.1 创建conda环境Python版本固定为3.7打开终端进入你准备工作的目录先创建并激活环境conda create -n habitat python3.7 -y conda activate habitat如果第2章已经做过了这一步直接跳过。激活后确认一下Python版本python --version输出应该是Python 3.7.x。这一步是我每次装环境都必看的。版本不对后面安装的二进制包可能出现莫名其妙的crash。4.2 从conda安装habitat-sim v0.1.7本体直接执行conda install -y -c conda-forge -c aihabitat habitat-sim0.1.7加了0.1.7可以精确锁定版本而不是装到当前最新版。如果只需要headless模式把包名换成habitat-sim-headlessconda install -y -c conda-forge -c aihabitat habitat-sim-headless0.1.7安装过程中conda会解析一堆依赖包括magnum-bindings、assimp、pybind11等。这一阶段如果卡在“Solving environment”很长时间别干等直接看下一节。4.3 如果conda求解环境慢到离谱请用mamba加速“Solving environment”卡住是conda安装habitat的一个高频痛点。我自己遇到过求解了四十分钟还没结束的情况。原因在于habitat-sim的依赖矩阵比较老和conda-forge的新依赖版本之间存在大量回溯。解法很简单用mamba替代conda做安装。mamba是C实现的conda求解器求解速度能快一个数量级conda install -y -n base conda conda install -y -c conda-forge mamba然后重新创建环境mamba create -n habitat python3.7 -y mamba activate habitat mamba install -y -c conda-forge -c aihabitat habitat-sim0.1.7mamba的安装命令和conda几乎一样但解决依赖的速度倍儿爽。后续你如果还需要在这个环境里装其他包也可以用mamba install替代conda。4.4 安装完成后立刻验证import成功才是真的成功装完别急着关终端先做两步验证。第一步确认habitat_sim能正常导入python -c import habitat_sim; print(habitat_sim.__version__)如果打印出类似0.1.7的版本号说明核心安装成功。第二步创建一个最小模拟器实例确认能加载一个场景文件pythonimport habitat_sim import glob scene sorted(glob.glob(data/scene_datasets/habitat-test-scenes/*.glb)) print(找到场景, scene) if scene: cfg habitat_sim.SimulatorConfiguration() cfg.scene_id scene[0] sim habitat_sim.Simulator(cfg) print(模拟器创建成功)这一步如果报错九成是场景文件还没下载。场景数据的下载和放置我放在第6章专门讲。5. 源码编译安装需要C/CUDA层面控制权时走这条路线conda安装能覆盖大部分人的需求但如果你要改habitat-sim的C源码、对接自研的传感器模型或者想在特定CUDA版本下做深度定制就必须从源码编译。这条路线能给你最大的控制权代价是要多踩一些坑。5.1 获取v0.1.7源码并锁定标签第3章已经讲了获取源码的办法这里直接给出推荐命令。已经clone过并切到v0.1.7的跳过git clone --depth 1 --branch v0.1.7 https://github.com/facebookresearch/habitat-sim.git cd habitat-sim下载完确认当前taggit describe --tags输出v0.1.7就没问题。5.2 安装系统级依赖和编译工具链源码编译首先需要操作系统层面的OpenGL和窗口库。Ubuntu/Debian下执行sudo apt update sudo apt install -y --no-install-recommends \ xorg-dev libxinerama-dev libxcursor-dev libglu1-mesa-dev libgl1-mesa-dev libxi-dev这些库是Magnumhabitat-sim的底层渲染引擎编译时的硬依赖。缺了任何一个CMake阶段都会报找不到GL/gl.h或者X11/Xlib.h这类错误。然后创建conda环境并安装CMake和ninjaconda create -n habitat-build python3.7 -y conda activate habitat-build conda install -y -c conda-forge cmake ninja5.3 用python setup.py触发CMake编译habitat-sim的构建链本质上是通过setup.py调用CMake再编译Python绑定。最直接的方式pip install -r requirements.txt python setup.py installrequirements.txt里是编译Python绑定所需要的库比如numpy、Cython。编译过程会持续较长取决于机器性能。我见过编译时间从十几分钟到一小时不等期间终端刷屏CPU占用拉满属于正常现象。如果你想更精细地控制编译参数比如关掉测试、指定构建类型可以走显式的CMake路线mkdir build cd build cmake .. -DCMAKE_BUILD_TYPERelease cmake --build . -j$(nproc)-j$(nproc)表示用满所有CPU核心并行编译速度快很多。编译完成后回到仓库根目录再执行Python绑定安装。5.4 编译阶段真实遇过的几个报错源码编译的报错千奇百怪我把最常见的几个列成表你遇到后可以对号入座报错信息原因解决fatal error: GL/gl.h: No such file or directory系统缺OpenGL头文件sudo apt install libgl1-mesa-dev libglu1-mesa-devCould not find a package configuration file provided by Magnum缺Magnum依赖或CMake找不到确认conda内已装magnum相关包或设置CMAKE_PREFIX_PATH指向conda路径Error: your compiler does not support C17GCC版本过老升级GCC到7以上sudo apt install gcc-7 g-7并切换默认版本No CUDA toolset found编译GPU版但没装CUDA安装对应CUDA Toolkit或改用CPU/headless版GLIBCXX_3.4.21 not foundconda环境的libstdc太旧conda install -c conda-forge libstdcxx-ng更新运行时其中GLIBCXX那个坑最隐蔽往往装完导入habitat_sim才报错而不是编译时。原因是conda环境里的libstdc版本比系统库旧。提前装好libstdcxx-ng能省很多眼泪。6. 场景数据下载和第一个Demo这一步才是真正“能跑”的标志很多教程在“import成功”就结束了但实际做实验的人都知道habitat-sim真正“能跑”的标准是成功加载一个3D场景然后让agent在场景里走起来。这需要场景数据。这一章专门讲数据下载的底层逻辑和避坑方案。6.1 先区分测试场景和全量数据集v0.1.7时代habitat-sim会用到几类场景数据habitat-test-scenes官方提供的测试用3D场景体积小几百MB以内包含几个不同的室内场景适合验证安装是否成功、跑通最小Demo。第一次装先下这个。Matterport3DMP3D大规模真实室内场景数据集照片级质量但在2019年左右下载需要申请许可体积巨大。Gibson另一个常用的室内场景数据集同样面向导航任务体积以GB计。第一优先级别只下测试场景先确认自己能跑通整个流程再考虑要不要申请和下载大场景。大场景下载耗时耗力而且它的体积放在弱网环境下就是灾难。6.2 内置下载脚本以及断网后的手动下载方案habitat-sim提供了内置下载脚本conda安装版本里已经带了python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes--uids后面跟的是数据源标识执行--help可以看支持哪些。脚本本身会从官方S3地址下载并解压到data/scene_datasets/目录。但这个脚本在弱网环境下经常下载到一半就断。一个更稳的方式是先看脚本源码里面对应的下载直链然后用aria2手动下载python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --help或者直接打开habitat_sim/utils/datasets_download.py找到URL字典。拿到直链后aria2c -x 8 -s 8 -c 直链地址下载完成后手动解压到data/scene_datasets/目录确保目录结构是data/ └── scene_datasets/ └── habitat-test-scenes/ ├── *.glb └── ...放在错误位置会导致模拟器加载场景时报“unable to open file”。路径问题是我见过的高频错误没有之一。6.3 运行examples里的脚本看到渲染画面才算完成数据放好之后回到habitat-sim仓库根目录运行官方示例python examples/example.py --scene data/scene_datasets/habitat-test-scenes/van-gogh-room.glb如果没有example.py看下examples/目录下有哪些文件有的是demo.py。运行后有图形界面的机器会弹出渲染窗口你看到一张3D室内场景说明整条链路已经通了。无图形界面的服务器上则用headless模式或者配合xvfb运行xvfb-run -a python examples/example.py --scene data/scene_datasets/habitat-test-scenes/van-gogh-room.glbxvfb是Linux下的虚拟显示工具没有物理显示器也能跑OpenGL渲染但需要先安装sudo apt install xvfb到这里habitat-sim v0.1.7已经从“装好了”变成“能跑起来了”后面的实验就可以在这个基础上展开了。7. 安装完成后的自查清单与报错速查表安装和跑通Demo是两件事。很多人觉得自己“装好了”结果过两天跑实验报错一个接一个。最后给一份自查清单和速查表装完之后照着走一遍能过滤掉大部分隐性坑。7.1 三步验证导入、版本号、创建Simulator每次新开环境、换机器、或者从别人那里接手环境都建议按这个顺序验证一次第一步确认Python版本python --version第二步确认habitat_sim可导入且版本正确conda activate habitat python -c import habitat_sim; print(habitat_sim.__version__)第三步创建最小Simulator并加载一个场景。这里用glob匹配方式避免手写具体文件名导致找不到import glob import habitat_sim scenes sorted(glob.glob(data/scene_datasets/habitat-test-scenes/*.glb)) assert scenes, 未找到场景文件请先下载habitat-test-scenes cfg habitat_sim.SimulatorConfiguration() cfg.scene_id scenes[0] sim habitat_sim.Simulator(cfg) print(场景加载成功, scenes[0])三步全过你的环境才算真正就绪。7.2 报错速查表从import到运行阶段的一次性解决阶段报错现象常见原因处理办法importImportError: No module named habitat_sim没有激活对应conda环境或编译安装没成功确认当前环境conda info | grep activeimportGLIBCXX_3.4.21 not foundconda环境libstdc版本太旧conda install -c conda-forge libstdcxx-ng运行AssertionFailed: unable to load the file场景路径错误或数据未解压到正确目录检查data/scene_datasets/下的文件层级运行EGL not availableheadless模式离屏渲染驱动未配置安装xvfb后退出重试或改用桌面版habitat-sim运行Segmentation fault常见于显存不足或驱动问题降低场景精度或检查nvidia-smi显存占用condaSolving environment卡死依赖回溯换mamba安装或设置channel_priority: flexible7.3 最后聊聊环境变量和“装好但跑不起来”的玄学问题habitat-sim对LD_LIBRARY_PATH不算敏感因为conda安装时通常已经把库路径写进了包配置里。但源码编译安装时偶尔会出现libpython或libmagnum找不到的情况。我的做法是在~/.bashrc里追加一行export LD_LIBRARY_PATH$CONDA_PREFIX/lib:$LD_LIBRARY_PATH$CONDA_PREFIX指向当前激活的conda环境目录这样环境里的动态库就都能被找到了。至于“装好但跑不起来”的玄学现象我个人的经验是八成以上都是以下三种原因之一activated环境不对、场景路径不对、GPU内存被占用。每次排查先按这个顺序走比反复重装高效太多。安装v0.1.7这件事说到底就是和网络、版本、路径三个东西做斗争。网络问题用镜像、断点续传和中转下载解决版本问题靠conda环境隔离和版本锁定解决路径问题只用记住一条数据永远放在data/scene_datasets/下并且保持层级结构不变。真正做到这三件事habitat-sim v0.1.7从安装到跑通Demo顺利的话半小时内可以全部结束。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →