繁体   English   中英

Colcon 构建失败,rclpy

[英]Colcon build fail, rclpy

尝试 Colcon 构建 ROS2 滚动( https://docs.ros.org/en/rolling/Installation/Ubuntu-Development-Setup.html ),我遇到了这个错误:

colcon build --symlink-install

Starting >>> rclpy   
--- stderr: rclpy                         
CMake Error at /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find Python3 (missing: Python3_LIBRARIES Python3_INCLUDE_DIRS
  Development) (found version "3.9.10")
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.16/Modules/FindPython/Support.cmake:2214 (find_package_handle_standard_args)
  /usr/share/cmake-3.16/Modules/FindPython3.cmake:300 (include)
  CMakeLists.txt:40 (find_package)


---
Failed   <<< rclpy [5.33s, exited with code 1]

我的系统 Python 是 3.8.10,我的系统是 Ubuntu 20.04。 从日志来看,似乎没有找到 3.8,而是选择了 3.9(我的系统上也安装了 3.9)。 其他 300 个左右的 ROS2 Rolling 包安装没有问题。

我相信这个错误是由于 colcon 选择了 anaconda python,而不是默认的 OS python(在我的例子中是 3.8.10)。

有时 rclpy 无法导入,因为未找到预期的 C 扩展库。 如果是这样,请将目录中存在的库与错误消息中提到的库进行比较。 假设存在具有相似名称的文件(相同的前缀,如 _rclpy. 和相同的后缀,如 .so,但不同的 Python 版本/架构),您使用的 Python 解释器与用于构建 C 扩展的 Python 解释器不同。 确保使用与构建二进制文件相同的 Python 解释器。

https://docs.ros.org/en/rolling/How-To-Guides/Installation-Troubleshooting.html#import-failing-without-library-present-on-the-system

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM