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

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日

悬赏问题

  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal