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日

悬赏问题

  • ¥70 类鸟群Boids——仿真鸟群避障的相关问题
  • ¥15 CFEDEM自带算例错误,如何解决?
  • ¥15 有没有会使用flac3d软件的家人
  • ¥20 360摄像头无法解绑使用,请教解绑当前账号绑定问题,
  • ¥15 docker实践项目
  • ¥15 利用pthon计算薄膜结构的光导纳
  • ¥15 海康hlss视频流怎么播放
  • ¥15 Paddleocr:out of memory error on GPU
  • ¥30 51单片机C语言数码管驱动单片机为AT89C52
  • ¥100 只改动本课件的 cal_portfolio_weight_series(decision_date), 跑完本课件。设计一个信息比率尽量高的策略。