catkin_make报错求助:加载catkin_virtualenv未调用catkin_generate_virtualenv
ROS Noetic catkin_make 编译错误解决方法
问题描述
通过sudo apt install ros-noetic-catkin-virtualenv安装catkin_virtualenv后,执行catkin_make出现以下编译错误:
CMake Error at /opt/ros/noetic/share/catkin_virtualenv/cmake/catkin_install_python.cmake:30 (message):
range_sensor_layer loaded catkin_virtualenv, but never invoked
'catkin_generate_virtualenv'
Call Stack (most recent call first):
ros_lecture/externals/navigation_layers/range_sensor_layer/CMakeLists.txt:59 (catkin_install_python)
解决步骤
- 为目标包添加虚拟环境生成指令:打开
ros_lecture/externals/navigation_layers/range_sensor_layer/CMakeLists.txt,在第59行的catkin_install_python调用前,添加catkin_generate_virtualenv()指令。如果需要自定义虚拟环境配置(比如指定Python版本、继承全局依赖),可以添加参数,示例:
# 基础用法 catkin_generate_virtualenv() # 带参数示例(按需选择) # catkin_generate_virtualenv(PYTHON_VERSION 3.8 USE_SYSTEM_PACKAGES) # 原有的catkin_install_python代码 catkin_install_python(...)
- 卸载catkin_virtualenv(如果不需要):如果
range_sensor_layer并不需要使用虚拟环境,直接卸载catkin_virtualenv即可消除冲突:
sudo apt remove ros-noetic-catkin-virtualenv
- 检查包依赖配置:打开
range_sensor_layer的package.xml,确认是否误添加了catkin_virtualenv的依赖项,如果有,删除对应的<build_depend>或<depend>标签。
内容的提问来源于stack exchange,提问作者あじのもと
相关产品推荐
相关产品推荐

