chocolate478 2022-02-12 22:37 采纳率: 50%
浏览 62
已结题

rosserial_arduino连接报错ImportError: No module named queue,如何解决?(语言-python|操作系统-ubuntu)

本人在最近使用rosserial_arduino连接舵机时遇到连接问题
当我按照教程输入

rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0

或者

rosrun rosserial_python serial_node.py /dev/ttyACM0

就会报错

Traceback (most recent call last):
  File "/home/lsn/catkin_ws/src/rosserial/rosserial_python/nodes/serial_node.py", line 39, in <module>
    from rosserial_python import SerialClient, RosSerialServer
  File "/home/lsn/catkin_ws/devel/lib/python2.7/dist-packages/rosserial_python/__init__.py", line 34, in <module>
    exec(__fh.read())
  File "<string>", line 1, in <module>
  File "/home/lsn/catkin_ws/src/rosserial/rosserial_python/src/rosserial_python/SerialClient.py", line 41, in <module>
    import queue
ImportError: No module named queue

我问同学他说是因为下载的rosserial_arduino版本不对,让我去官网下载melodic版本的,但还是不行,后面我到网上查,大部分说是因为有python2和python3,两个版本的python,但鉴于我python不是特别明白,我按照网上说办法弄,但结果还是报错。
最近这个问题快把我弄崩溃了,希望有朋友能解答下出错误的原因,和怎么成功的连接ros、adurino。

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2022-02-12 23:32
    关注

    在python3中queue库为标准库,在python2.7中没有queue,而是自带的库Queue。在python2.x中运行rosserial_arduino时源码需要导入queue库,所以报错。
    解决办法,一是安装python3系列较新版本运行。
    二是改源码:
    try:
    import queue
    except ImportError:
    import Queue as queue
    参考:
    https://www.jianshu.com/p/f037325e695c

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月12日

悬赏问题

  • ¥15 数电设计题 没有设计思路 不知道用什么芯片进行设计 求提供设计思路
  • ¥15 在动态多目标优化问题中,第一幅图展示的是问题DF6的相关定义和绘制的POS和POF图,请问图中公式PS(t)和PF(t)是如何推导的
  • ¥60 设计一种优化算法结合案例给出智能仓储四向穿梭车的调度计划
  • ¥15 Errno2:No such file or directory,在当前文件确实没有该图片,怎么解决?
  • ¥15 博世摄像头数据存储的问题(iscsi)
  • ¥15 如何实现对学生籍贯信息管理系统的选择排序
  • ¥15 写一个51单片机的时钟代码
  • ¥15 git clone报错
  • ¥15 3d-slicer超声造影动态图像导入报错
  • ¥15 化工过程分析与合成问题求解决