No module named 'roslaunch' 背后的核心原因
问题
你正在运行或启动某个 ROS 包,但看到如下错误消息
roslaunch_error.txt
No module named 'roslaunch'原因
其核心原因是 roslaunch 来自 ROS 1,而你正在使用 ROS 2。
因此,你必定以某种方式混合了 ROS 1 和 ROS 2 包。
你的下一步是找出哪个包使用了 roslaunch,然后为该包找到 ROS 2 等价物。
/home/uli/.local/lib/python3.12/site-packages/xacro/init.py
search_roslaunch.sh
ag -i roslaunch有时这种情况发生是因为你在某处安装了 Python 包(在主 ROS2 目录之外,例如使用 pip),而这些 ROS1 包仍在你的 PYTHONPATH 中。
如果你使用 ros2 launch,请参阅我们的文章在 ‘ros2 launch’ 期间启用 DEBUG 日志记录的 ROS2 技巧,了解一个简单的技巧来查看 roslaunch 从哪里被导入的堆栈跟踪。
在我的情况下,我安装了一份 xacro 副本到 ~/.local/lib/python3.12/site-packages/xacro/__init__.py。
因此,我需要使用以下命令卸载 xacro
pip_uninstall_xacro.sh
pip uninstall xacro然后使用以下命令安装 ROS2 版本的 xacro
install_ros_xacro.sh
sudo apt -y install ros-jazzy-xacroCheck out similar posts by category:
ROS
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow