尝试在ROS中创建柳絮工作区时出现CMake错误,因为它找不到Python

尝试在ROS中创建柳絮工作区时出现CMake错误,因为它找不到Python,python,ros,catkin,Python,Ros,Catkin,我在尝试在ROS中创建柳絮工作区时遇到了一个CMake错误,因为它找不到Python。它发现一个不合适的版本“1.4”,但它要求至少有2个。然而,我已经为ros下载了更高版本的python 这是我用柳絮做的 nasa@nasa-VirtualBox:~/catkin_ws$ catkin_make Base path: /home/nasa/catkin_ws Source space: /home/nasa/catkin_ws/src Build space: /home/nasa/catki

我在尝试在ROS中创建柳絮工作区时遇到了一个CMake错误,因为它找不到Python。它发现一个不合适的版本“1.4”,但它要求至少有2个。然而,我已经为ros下载了更高版本的python

这是我用柳絮做的

nasa@nasa-VirtualBox:~/catkin_ws$ catkin_make
Base path: /home/nasa/catkin_ws
Source space: /home/nasa/catkin_ws/src
Build space: /home/nasa/catkin_ws/build
Devel space: /home/nasa/catkin_ws/devel
Install space: /home/nasa/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/nasa/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/nasa/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/melodic
-- This workspace overlays: /opt/ros/melodic
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PythonInterp: Found unsuitable version "1.4", but required
  is at least "2" (found /home/nasa/catkin_ws/build/python3)
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:376 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindPythonInterp.cmake:152 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /opt/ros/melodic/share/catkin/cmake/python.cmake:4 (find_package)
  /opt/ros/melodic/share/catkin/cmake/all.cmake:163 (include)
  /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:56 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/nasa/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/nasa/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:320: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

解决方案可能是清理您的工作区。正如这里所暗示的,问题出在CMakeCache.txt上。根据您是使用
catkin build
还是
catkin\u make
,您可以在您的catkin工作区中运行
catkin clean
catkin\u make clean
。仅删除工作区中的devel和build文件夹也适用于任何一个生成系统

您还可以更快地回答有关ROS的问题


如果清理工作区不能解决问题,则检查终端报告的python版本
python--version
。另外,如果您安装了新版本的python,并且从同一终端尝试构建工作区,那么该shell中的相关环境路径可能没有更新。运行
execbash
或启动一个新的终端并尝试构建您的工作区。

使用命令
$python-V
检查python的版本

如果版本为2.7,则:

  • 去柳絮屋
  • 删除文件夹devel并重新生成
  • 在工作区中打开另一个终端,然后重试