Problém
Spouštíte nebo inicializujete nějaký ROS balíček, ale vidíte chybovou zprávu jako
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
ag -i roslaunchNě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 xacroa poté nainstalovat ROS2 verzi xacro pomocí
sudo apt -y install ros-jazzy-xacro