使用colcon构建ROS2包时遇“No module named numpy.core._multiarray_umath”错误
解决ROS2 colcon构建时
numpy.core._multiarray_umath缺失问题 可行解决方案:
确保Python环境与ROS2一致
colcon默认使用ROS2绑定的Python环境,你手动升级的numpy可能不在该环境内。先确认当前终端的Python版本:python3 --version再检查该Python环境下的numpy状态:
python3 -c "import numpy; print(numpy.__version__); print(numpy.core._multiarray_umath)"如果此处报错,说明ROS2的Python环境中numpy异常,需用对应环境的pip重装:
python3 -m pip install numpy --upgrade --force-reinstall重装numpy并跳过二进制包
部分情况下numpy的预编译二进制包会损坏,尝试手动编译安装:pip uninstall -y numpy pip install numpy --upgrade --no-binary numpy排查环境变量冲突
检查当前终端的Python路径是否存在冲突:echo $PYTHONPATH若输出包含多个Python路径,可能导致numpy加载异常,可临时清空后重试构建:
unset PYTHONPATH colcon build验证numpy安装完整性
运行numpy自带测试,确认模块无损坏:python3 -c "import numpy; numpy.test()"若测试失败,重复卸载重装步骤。
内容的提问来源于stack exchange,提问作者Максим
相关产品推荐
相关产品推荐

