lerobot环境配置-踩坑过的教程
·
终极配置流程:一次性成功指南
设备:Thinkpad笔记本
系统:ubuntu20.04
1. 新建环境
conda create -n lerobot python=3.12 -y
conda activate lerobot
2. 预修源码 (避开 evdev 陷阱)
进入克隆的 lerobot 目录,修改配置文件以移除导致编译错误的依赖。
git clone https://github.com/huggingface/lerobot.git
cd ~/lerobot
gedit pyproject.toml
修改动作: 在 dependencies 列表中删除 "pynput>=1.7.8,<1.9.0", 这一行。保存并退出。
3. 核心步骤:强行安装兼容版本
手动指定符合 lerobot 0.5.2 要求的特定版本。这一步是为了防止 pip 乱装最新版。
# 1. 先装工具和基础包
pip install "packaging<26.0" "setuptools<81.0.0" "cmake>=3.29.0.1,<4.2.0"
# 2. 安装二进制驱动和 SDK
pip install evdev-binary feetech-servo-sdk
# 3. 按照报错要求的区间,强行锁死大包版本
# 注意:这里我们避开了报错中提到的“最新不兼容版本”
pip install \
"torch>=2.7,<2.11.0" \
"torchvision>=0.22.0,<0.26.0" \
"av>=15.0.0,<16.0.0" \
"deepdiff>=7.0.1,<9.0.0" \
"numpy>=2.0.0,<2.3.0" \
"accelerate>=1.10.0,<2.0.0" \
"datasets>=4.0.0,<5.0.0" \
"diffusers>=0.27.2,<0.36.0" \
"huggingface-hub>=1.0.0,<2.0.0" \
"draccus==0.10.0" \
"einops>=0.8.0,<0.9.0" \
"gymnasium>=1.1.1,<2.0.0" \
"opencv-python-headless>=4.9.0,<4.14.0" \
"rerun-sdk>=0.24.0,<0.27.0" \
"wandb>=0.24.0,<0.25.0" \
"termcolor>=2.4.0,<4.0.0" \
"imageio[ffmpeg]>=2.34.0,<3.0.0" \
"jsonlines>=4.0.0,<5.0.0" \
"torchcodec>=0.3.0,<0.11.0"
4. 解决 Feetech 导入命名冲突
为了让代码能找到飞特电机的 SDK,执行以下补丁:
SITE_PACKAGES=$(python -c "import site; print(site.getsitepackages()[0])")
cd $SITE_PACKAGES
# 如果之前有旧链接先删掉,再建新的
rm -rf feetech_servo_sdk
ln -s scservo_sdk feetech_servo_sdk
cd -
5. 最小化安装 Lerobot
现在环境里的零件已经全部手工对齐了,直接安装 lerobot 且禁止它修改任何依赖:
pip install -e . --no-deps
6. 执行目标命令
接下来可以顺利运行电机配置脚本了:
# 确保串口权限
sudo chmod 666 /dev/ttyACM0
# 运行脚本
lerobot-setup-motors \
--robot.type=so101_follower \
--robot.port=/dev/ttyACM0
为什么这次能成?
- 版本锁死:没有让
pip猜版本,而是根据报错信息把torch等关键包定死在兼容区间(如torch < 2.11.0)。 - 跳过 pynput:它是
evdev编译错误的罪魁祸首。删掉它之后,环境不再尝试去编译内核头文件。 - 无依赖安装:最后的
--no-deps保证了我们辛苦配好的版本不会被pip最后的安装过程再次搞乱。
更多推荐

所有评论(0)