1 问题描述
在Ubuntu18.04中正常安装ROS Melodic后,利用Python3编写节点无法运行,于是补充安装ROS Melodic的Python3支持。
2 解决方法
2.1 安装Python3依赖和ROS包
安装Python3依赖
sudo apt update
sudo apt install -y python3 python3-dev python3-pip build-essential
利用pip3安装ROS包
sudo -H pip3 install rosdep rospkg rosinstall_generator rosinstall wstool vcstools catkin_tools catkin_pkg
2.2 初始化ROS
sudo rosdep init
rosdep update
若在第一步提示相关文件已存在,利用sudo rm <path>
删除相关文件即可。
2.3 创建工作空间
cd ~
mkdir ros_catkin_ws
cd ros_catkin_ws
2.4 下载ROS源码(以Common版本为例)
rosinstall_generator ros_comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
wstool init -j8 src melodic-ros_comm.rosinstall
2.5 修改默认Python环境,编译安装
修改ros_catkin_ws//src/catkin/bin/
中各文件的环境为Python3,即打开各文件,将第一行#!/usr/bin/env python
改为#!/usr/bin/env python3
。
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
export ROS_PYTHON_VERSION=3
sudo ./src/catkin/bin/catkin_make_isolated --install --install-space /opt/ros/melodic -DCMAKE_BUILD_TYPE=Release
source /opt/ros/melodic/setup.bash
参考
How can I install ROS Melodic with Python3?
Building ROS Melodic with Python3 support
ubuntu 1804 安装基于Python3的ROS melodic