4.ROS中使用python3发布数据

一、修改脚本用python3运行

#!/usr/bin/python2.7修改为#!/usr/bin/python3
在这里插入图片描述

二、通过rosrun命令执行该脚本

直接运行rosrun命令他会报错。
在这里插入图片描述

1.提示没有rospkg这个包

  1. 因为在安装ros的时候,rospkg这个包是安装在python2.7的目录下的。用sudo find / -name rospkg查找rospkg,可以看到他的路径是/usr/lib/python2.7/dist-packages/rospkg在这里插入图片描述

2.在安装python3-rospkg

  1. 所以我们需要在python3的目录下安装一个python3版本的rospkg。sudo apt-get install python3-rospkg
  2. 安装完之后,重新启动roscore会提示: 在这里插入图片描述

3.遇到的一些错误(可以直接跳过)

  1. 按照提示进行安装上述包一直到到最后要安装catkin
    在这里插入图片描述
    然后提示需要安装python-catkin-pkg,但是这个包我已经安装了,并且是最新版本。
    在这里插入图片描述
  2. (这一步并没有解决问题,可以直接跳到下一步) 参考这篇博客https://blog.csdn.net/WillWinston/article/details/80714334,我们需要从GitHub上下载catkin源码并编译。
  • sudo apt-get install git
  • cd ~ && git clone https://github.com/ros/catkin
  • 安装catkin依赖的包sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev build-essential
  • cd catkin
  • mkdir build && cd build
  • cmake -DCMAKE_BUILD_TYPE=Release ../
  • make
  • sudo make install
    执行完之后还是上面的问题。

4.成功解决

参考https://blog.csdn.net/tom17/article/details/107748686
6. 最后解决:sudo apt-get install ros-melodic-desktop重新执行一下这个命令。
然后执行:

  • roscore
  • rosrun my_pkg my_publisher.py(自己的功能包名和脚本名)
  • 成功在python3下往topic中发布消息。
    在这里插入图片描述
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值