解决ros环境运行Python文件出现ImportError: No module named yaml的问题
Ubuntu20.04 ros下运行 .py文件rosrun program_control moveit_fk_demo.py 出现:Traceback (most recent call last):File "/home/lxl/catkin_ws/src/program_control/moveit_fk_demo.py", line 4, in <module>import
Ubuntu20.04 ros下运行 .py文件rosrun program_control moveit_fk_demo.py 出现:
Traceback (most recent call last):
File "/home/lxl/catkin_ws/src/program_control/moveit_fk_demo.py", line 4, in <module>
import rospy, sys
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 47, in <module>
from std_msgs.msg import Header
File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/__init__.py", line 1, in <module>
from ._Bool import *
File "/opt/ros/noetic/lib/python3/dist-packages/std_msgs/msg/_Bool.py", line 6, in <module>
import genpy
File "/opt/ros/noetic/lib/python3/dist-packages/genpy/__init__.py", line 34, in <module>
from . message import Message, SerializationError, DeserializationError, MessageException, struct_I
File "/opt/ros/noetic/lib/python3/dist-packages/genpy/message.py", line 48, in <module>
import yaml
ImportError: No module named yaml
一般分两种情况:
一、未安装pyyaml
根据自己的版本下载,我的是python3
sudo apt-get install python3-yaml
安装后如果还不行,同样出现之前的错误,那就是系统中存在多个python版本导致的。进行以下步骤:
二、多个python版本
1.查看python版本
python3 --version
2.查看python位置
whereis python3.8
3.进入上一步查看python位置 /usr/bin/ 根目录下
cd /usr/bin
4.设置软连接
sudo ln -s /usr/bin/python3.8 python
若出现 ln: 无法创建符号链接 'python': 文件已存在
说明系统中存在多个python版本
5.移除python文件
sudo rm python
6.再设置软连接
sudo ln -s /usr/bin/python3.8 python
再次运行.py文件,成功解决!
更多推荐
所有评论(0)