ros支持python_在ROS中使用Python3

Use Python3 in ROS.

以下内容在Ubuntu 16.04 x64和ROS kinetic中测试通过

事实上,只要在.py文件加上python3的shebang,rosrun的时候就会自动调用相应的解释器了:

#!/usr/bin/env python3

但是,在安装ros-kinetic-desktop-full的时候,也并没有安装python3相关的package,所以需要手动安装。

1. 创建virtualenv环境(非必须)。

这一步不是必要的,在这只是为了保险起见。

sudo pip install virtualenv

# 我在这使用的是Python3.6rc2,指向系统已安装的python3也可以。

virtualenv rosenv -p /opt/python36rc/bin/python3

source rosenv/bin/activate

python -V

# Python 3.6.0rc2

2. 安装相应的Package

需要安装catkin-tools和rospkg。

# 没有创建virtualenv的话,注意需要使用pip3

pip install catkin-tools

pip install rospkg

3. 按正常方式创建ROS Packgae

创建Packge和Node的时候,无需source virtualenv。

但是,记得要在python node的文件头部加上shebang,否则rosrun仍会调用python2:

#!/usr/bin/env python3

4. rosrun

如果使用virtualenv,rosrun前记得source virtualenv就好了。

source ros_test/devel/setup.zsh

# 如没有使用virtualenv,下一语句则跳过

source rosenv/bin/activate

rosrun py3test pytest.py

Note

需要注意的是,即使使用的virtualenv中,python指向的是python3,但是只要不在.py文件中添加python3的shebang,rosrun还是会调用python2的。这样可以很方便地兼容原来Python2的Package。

在注册表中无Python3.5安装路径的情况下安装pywin32-

当安装pywin32出现Python Version 3.5 required which was not found in the registry的时候表面注册表中没有Python3.5的安装路径 ...

将ROS中的/sensor_msgs/NavSatFix数据导入google earth显示轨迹

将ros中的gps_msg数据导入google earth显示轨迹 [TOC] 1. 获取GPS数据 将ros中发布的gps topic输出到文本中 rostopic echo -p /gpsData ...

linux中安装Python3.x

首先了解几句Linux命令是必须的.例如 ls, vi, wget, rm, mv, cd, su, sudo, chmod, tar等等一些常用的语句命令是有必要知道它的用法的. 安装Python3 ...

PTA中提交Python3程序的一些套路

0. FAQ 0.1 提交后提示"答案错误"或者"格式错误" PTA检查答案正确与否是通过字符串匹配实现的.所以可能有以下几种原因: 格式错误:程序的输出要与题 ...

ROS_Kinetic_27 在ROS中使用Cartographer进行SLAM

ROS_Kinetic_27 在ROS中使用Cartographer进行SLAM Cartographer是谷歌新開源的通用的2D和3D定位與構圖同步的SLAM工具,並提供ROS接口. 论文Real- ...

ROS_Kinetic_07 ROS中机器人三维物理引擎高保真仿真利器gazebo 7.0

ROS_Kinetic_07 ROS中机器人三维物理引擎高保真仿真利器gazebo 7.0 ROS kinetic中的gazebo版本是7.0,有很多新的特性. 首先,启动gazebo: ~$ gaz ...

在 ubuntu 中安装 python3.5、 tornado、 pymysql

一.在 ubuntu 中安装 python3.5 1.首先,在系统中是自带python2.7的.不要卸载,因为一些系统的东西是需要这个的.python2.7和python3.5是可以共存的. 命令如下 ...

Linux中安装python3.6和第三方库

Linux中安装python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!! ...

ROS中的CMakeLists.txt

在ROS的编程过程中,如果CMakeLists.txt如果写不好,编译就很难成功.如果看不懂CMakeLists.txt那么很多错误你也不知道时什么回事.所以深入了解它是很有必要的.现在我们就来看看它 ...

随机推荐

Dapper学习笔记(5)-存储过程

一.无参存储过程 第一步:创建一个不带参数的存储过程,代码如下: CREATE PROCEDURE [dbo].[QueryRoleNoParms] AS BEGIN SELECT * FROM T_ ...

NK3C:关于svg文件使用

我们从 http://iconfont.cn/ 上下载的SVG文件由以下构成,系统中使用的时候请做适当的修改: 1.width.Height:设置为100%: 2.defs模块去掉:(如果不去掉,IE ...

Android自动化测试框架

1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:    2.Rubotium:主要针对某一个APK进行自动化测 ...

SAP的物料归档

我们在对前台对物料进行删除时,是物理删除,也就是打个删除标志,并没有正真的从数据库里删除,在前台还是可以看到的,下面介绍一下SAP的归档处理可以 把已删除的物料在前台删除掉,注意:项目里根据情况得到领 ...

iOS中解析 XML / JSON

JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...

浅谈RFID电子标签封装技术

1RFID技术概述 1.1RFID技术概念 RFID是RadioFrequencyIdentification的缩写,即射频识别技术,俗称电子标签.RFID射频识别是一种非接触式的自动识别技术,它通过 ...

js获取浏览器地址栏传递的参数

function getQueryString(key){ var href=window.location.href; var reg = new RegExp(key +"=([^&am ...

ASP.NET请求处理过程

当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给Aspnet_isapi.dll,aspnet_isapi.dll会通 ...

文本分类学习(三) 特征权重(TF/IDF)和特征提取

上一篇中,主要说的就是词袋模型.回顾一下,在进行文本分类之前,我们需要把待分类文本先用词袋模型进行文本表示.首先是将训练集中的所有单词经过去停用词之后组合成一个词袋,或者叫做字典,实际上一个维度很大的 ...

vue 模板template

入门

你可能感兴趣的:(ros支持python)