ROS安装 catkin_make失败

部署运行你感兴趣的模型镜像

笔者环境:

ubuntu:20.04

ros:noetic(默认预装python3.8)

遇到问题:

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'

错误信息非常明确:catkin 在生成 ROS 消息 / 服务代码时需要用 Python 的 empy 模板引擎,而你的环境里既找不到可执行文件 empy,也找不到模块 em
只要把 empy 装到 当前被 cmake 调用的那个 Python3 里即可

经过搜索 发现有可能是由于ROS的python版本和Anaconda的python版本重合导致的编译失败(python版本的兼容性问题)

解决方法:


仍然报错——cmake 调的是 Anaconda/Miniconda 的 Python


现象:which python3 输出类似 /home/xxx/anaconda3/bin/python3,而 python3 -c "import em"No module named 'em'
原因:你把 ROS 包装在系统 Python 里,但 cmake 优先找到 conda 的 Python,conda 环境里并没有 empy。

对策 A:临时把系统 Python 提到最前面(只影响当前终端)

打开/.bash,命令行输入:

gedit ~/.bashrc

然后输入:

export PATH=/usr/bin:$PATH              # 让 /usr/bin/python3 排在前面
                           # 现在找到的 python3 就是 /usr/bin/python3

保存退出文本文件后 命令行输入

cd ~/catkin_ws
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

编译成功

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值