ros支持python_在ROS中使用Python3

本文档详细介绍了如何在Ubuntu 16.04和ROS Kinetic中配置使用Python3。首先,你可以选择创建virtualenv环境以确保隔离。接着,安装catkin-tools和rospkg包。在创建ROS Package时,务必在.py文件中添加python3的shebang。即使在virtualenv中,不加shebang也会默认使用python2。最后,通过source命令激活环境并运行rosrun。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值