ROS Melodic切换Python3编译后恢复Python2失败的问题求助
解决ROS Melodic编译环境恢复至Python2的问题
- 彻底清理编译残留
之前的Python3编译缓存会干扰后续编译,先删除工作空间下的build、devel、install目录(替换为你的实际工作空间路径):
rm -rf ~/catkin_ws/build ~/catkin_ws/devel ~/catkin_ws/install
- 重置环境变量
清除可能残留的Python路径配置,恢复系统默认的ROS环境:
unset PYTHON_EXECUTABLE unset PYTHON_INCLUDE_DIR unset PYTHON_LIBRARY source /opt/ros/melodic/setup.bash
- 重新编译工作空间
不要手动指定Python相关参数,让catkin自动使用ROS Melodic默认的Python2环境编译:
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release
如果习惯使用catkin_make,可以替换为:
catkin_make -DCMAKE_BUILD_TYPE=Release
- 按需处理Python3依赖包(可选)
如果确实需要部分包基于Python3编译,不要全局修改工作空间的Python版本,针对单个包单独设置编译参数即可:
catkin build <目标包名> --cmake-args \ -DPYTHON_EXECUTABLE=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m \ -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
内容的提问来源于stack exchange,提问作者Mar Plaza
相关产品推荐
相关产品推荐

