关于ros2进行colcon build编译中出现ImportError: cannot import name ‘generate_py‘ from ‘rosidl_generator_py‘ 问题

发布于:2022-12-10 ⋅ 阅读:(904) ⋅ 点赞:(0)

        在使用colcon build编译ros2功能包的时候出现如下报错:

[ 80%] Generating Python code for ROS interfaces
Traceback (most recent call last):
  File "/opt/ros/humble/share/rosidl_generator_py/cmake/../../../lib/rosidl_generator_py/rosidl_generator_py", line 8, in <module>
    from rosidl_generator_py import generate_py
ImportError: cannot import name 'generate_py' from 'rosidl_generator_py' (/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_generator_py/__init__.py)
gmake[2]: *** [learning_interface__py/CMakeFiles/learning_interface__py.dir/build.make:109:rosidl_generator_py/learning_interface/_learning_interface_s.ep.rosidl_typesupport_fastrtps_c.c] 错误 1
gmake[1]: *** [CMakeFiles/Makefile2:590:learning_interface__py/CMakeFiles/learning_interface__py.dir/all] 错误 2
gmake: *** [Makefile:146:all] 错误 2
Failed   <<< learning_interface [3.74s, exited with code 2]

        经过多次排查后发现是由于conda环境中缺少在ros2中编译python的相关文件,即使使用pip对相关功能进行安装也无法成功编译。

        只能在.bashrc中对conda的部分注释掉(如下为本人bashrc,需要将133行到135行注释),之后将工作空间中的build文件夹删除,并重新开一个终端或者重新加载bashrc。经过以上方法后重新使用colcon build进行编译即可。

        如下可以看出成功进行编译。

 


网站公告

今日签到

点亮在社区的每一天
去签到