外观
踩坑GitHub google-deepmind/mujoco2024-01-02
MuJoCo Python缺失类型提示致Pyright报错的解决
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Python Types are missing 😦 (GitHub google-deepmind/mujoco #1292)
状态:有绕过办法
问题
在使用Pyright LSP或Pylance进行MuJoCo开发时,因官方未提供Python类型存根(stubs),导致MjData、MjModel等核心类型无法被识别,IDE无法提供代码补全与类型检查,VSCode中报错明显而PyCharm相对正常。
环境
MuJoCo Python绑定,Pyright/Pylance语言服务器,VSCode IDE,Python开发环境。
解决办法
- 推荐方案:安装社区维护的类型存根包,执行
pip install "mujoco-stubs==3.17.0.*"(版本号需与本地MuJoCo版本匹配),该包符合PEP 561标准,开箱即用。 - 手动生成方案:安装
pybind11-stubgen并执行pybind11-stubgen mujoco -o ~/typings/生成存根文件。 - 配置IDE:在VSCode
settings.json中设置python.analysis.stubPath指向生成的typings目录,或在pyproject.toml中配置[tool.pyright] stubPath = "typings"。 - 枚举类型修复:若使用旧版MuJoCo遇到IntEnum类型检查错误,需对生成的
_enum.pyi打补丁将其改为IntEnums;新版MuJoCo编译时已集成typing.SupportsInt支持,可跳过此步。 - N…
讨论原作者:@Artur-Galstyan 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。