在ROS中使用Python3


Use Python3 in ROS.
以下內容在Ubuntu 16.04 x64ROS 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-toolsrospkg

# 沒有創建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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM