工作站上同时存在ros1和ros2.
ros1是基于noetic版本,ros2是基于galactic版本。
因此需要经常切换版本。
运行python脚本时总是提示:
no module named 'rclpy'
尝试方案一:安装rclpy。
pip install rclpy
甚至尝试换国内的各种源,甚至添加–trusted,都无效,统一提示:
ERROR: Could not find a version that satisfies the requirement rclpy (from versions: none)
ERROR: no matching distribution found for rclpy
原因巨搞笑。
因为没有source ros。。。
source /opt/ros/galactic/setup.bash
source之后,依然存在问题:
Traceback (most recent call last):
File "./plotter.py", line 23, in <module>
import rclpy
File "/opt/ros/galactic/lib/python3.8/site-packages/rclpy/__init__.py", line 63
*,
^
SyntaxError: invalid syntax
原因是,
python脚本用的是/usr/bin/python,python的默认版本是python2.
将#!/usr/bin/python
改为#!/usr/bin/python3
即可。
两步:
source /opt/ros/galactic/setup.bash
#!/usr/bin/python3
无论发生了什么,先摸摸自己的胸口问问自己source了没有。