Hlavní důvod za No module named 'roslaunch'

Problém

Spouštíte nebo inicializujete nějaký ROS balíček, ale vidíte chybovou zprávu jako

roslaunch_error.txt
No module named 'roslaunch'

Důvod

Hlavní důvod pro to je že roslaunch je z ROS 1, zatímco vy používáte ROS 2.

Proto musíte nějakým způsobem míchat ROS 1 a ROS 2 balíčky.

Dalším krokem pro vás by bylo zjistit, který balíček používá roslaunch a poté najít ROS 2 ekvivalent pro tento balíček. /home/uli/.local/lib/python3.12/site-packages/xacro/init.py

search_roslaunch.sh
ag -i roslaunch

Někdy se to stává, protože jste nainstalovali Python balíčky někam (mimo hlavní ROS2 adresář, například pomocí pip) a tyto ROS1 balíčky jsou stále ve vašem PYTHONPATH.

V případě, že používáte ros2 launch, viz náš příspěvek ROS2 trik pro povolení DEBUG logování během ‘ros2 launch’ pro snadný trik, jak vidět trasování zásobníku, odkud se roslaunch importuje.

V mém případě jsem nainstaloval kopii xacro do ~/.local/lib/python3.12/site-packages/xacro/__init__.py.

Proto jsem potřeboval odinstalovat xacro pomocí

pip_uninstall_xacro.sh
pip uninstall xacro

a poté nainstalovat ROS2 verzi xacro pomocí

install_ros_xacro.sh
sudo apt -y install ros-jazzy-xacro

Podívejte se na podobné články podle kategorie: ROS