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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵