ROS2 报错:ModuleNotFoundError: No module named ‘lark‘

报错:ModuleNotFoundError: No module named ‘lark’

安装lark后任然报错:

完整报错

wds@Ubuntu22:~/workspace/ROS2/ws01_plumbing$ colcon clean
colcon build
usage: colcon [-h] [--log-base LOG_BASE] [--log-level LOG_LEVEL]
              {build,extension-points,extensions,graph,info,list,metadata,test,test-result,version-check} ...
colcon: error: argument verb_name: invalid choice: 'clean' (choose from 'build', 'extension-points', 'extensions', 'graph', 'info', 'list', 'metadata', 'test', 'test-result', 'version-check')
Starting >>> base_interfaces_demo
--- stderr: base_interfaces_demo                            
Traceback (most recent call last):
  File "/opt/ros/humble/share/rosidl_generator_c/cmake/../../../lib/rosidl_generator_c/rosidl_generator_c", line 8, in <module>
    from rosidl_generator_c import generate_c
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_generator_c/__init__.py", line 15, in <module>
    from rosidl_cmake import convert_camel_case_to_lower_case_underscore
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_cmake/__init__.py", line 24, in <module>
    from rosidl_parser.parser import parse_idl_file
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_parser/parser.py", line 20, in <module>
    from lark import Lark
ModuleNotFoundError: No module named 'lark'
gmake[2]: *** [CMakeFiles/base_interfaces_demo__rosidl_generator_c.dir/build.make:87:rosidl_generator_c/base_interfaces_demo/msg/student.h] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:212:CMakeFiles/base_interfaces_demo__rosidl_generator_c.dir/all] 错误 2
gmake[1]: *** 正在等待未完成的任务....
Traceback (most recent call last):
  File "/opt/ros/humble/share/rosidl_generator_cpp/cmake/../../../lib/rosidl_generator_cpp/rosidl_generator_cpp", line 8, in <module>
    from rosidl_generator_cpp import generate_cpp
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_generator_cpp/__init__.py", line 17, in <module>
    from rosidl_cmake import generate_files
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_cmake/__init__.py", line 24, in <module>
    from rosidl_parser.parser import parse_idl_file
  File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_parser/parser.py", line 20, in <module>
    from lark import Lark
ModuleNotFoundError: No module named 'lark'
gmake[2]: *** [CMakeFiles/base_interfaces_demo__cpp.dir/build.make:91:rosidl_generator_cpp/base_interfaces_demo/msg/student.hpp] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:317:CMakeFiles/base_interfaces_demo__cpp.dir/all] 错误 2
gmake: *** [Makefile:146:all] 错误 2
---
Failed   <<< base_interfaces_demo [0.52s, exited with code 2]

Summary: 0 packages finished [0.78s]
  1 package failed: base_interfaces_demo
  1 package had stderr output: base_interfaces_demo
  2 packages not processed

解决办法:

  1. 确认 lark 模块已经安装在正确路径
python3 -m pip install lark -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 验证 lark 安装
python3 -c "import lark; print(lark.__version__)"
  1. 设置 PYTHONPATH 环境变量

确保当前终端会话中 PYTHONPATH 包含 lark 模块的路径。

export PYTHONPATH=$PYTHONPATH:/home/wds/.local/lib/python3.10/site-packages
  1. 重新构建
colcon build

如果问题仍然存在,尝试以下方法确保环境变量在所有终端会话中都能被正确识别:

  1. 编辑 .bashrc 文件
nano ~/.bashrc
  1. 在文件末尾添加以下行
export PYTHONPATH=$PYTHONPATH:/home/wds/.local/lib/python3.10/site-packages
  1. 保存并退出,然后重新加载 .bashrc
source ~/.bashrc
  1. 重新构建
colcon build

通过这些步骤,你应该能够确保 lark 模块被正确识别并解决构建时的问题。

最后成功

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dxh_wds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值