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

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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。