栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

ROS知识:解决ROS和Anaconda的python冲突

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ROS知识:解决ROS和Anaconda的python冲突

1 问题提出

开始编译一次工作空间,

$ catkin_make 它就报错了:

CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):
  Unable to find either executable 'empy' or Python module 'em'...  try
  installing the package 'python3-empy'

2 问题分析

在ubuntu系统中,存在两个python;python2.7和python3.8(注意这两个版本不可删除,否则OS系统瘫痪);又装了一个anaconda后,出现了第三个版本的python3.9.

因此系统中三个版本python:

  • python2.7
  • python3.8
  • anaconda/lib/bin/python3.9

他们的环境别名是:(/usr/bin中见到的软连接)

python2、python3,python

最近的ROS-noetic中,用python3,但不是anaconda,因此,需要选python3.8,别名是python3

3 改进方法

wiki上提到了这个问题:
"对于ROS Melodic和早期版本的Python 3用户:注意,如果你从源代码构建ROS来实现Python 3的兼容性,并适当地设置您的系统(即:安装所有必需的ROS Python包的Python 3版本,例如catkin),

那么在首次建立工作区后,在这个干净的catkin工作区中的第一次catkin_make命令必须是:

$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

这将会配置catkin_make使用Python 3。

以后执行编译就直接$ catkin_make了;因为首次catkin-make已经设定好python路径;后边再编译就默认为此路径。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号